Bash + rclone · OneDrive ↔ Google Drive · Açık kaynaklı işletim kılavuzu
Bash ve rclone ile Yalnızca Kopyalama Yapan Bulut Aktarımı
rclone bulut sayfalamasını, yeniden denemeleri, devam ettirilebilir aktarımları ve sağlayıcı karmalarını zaten destekler. Mühendislik görevi, bu temel işlevleri hata durumunda kapalı kalan ve kapasiteyi gözeten bir işletim prosedürüyle sarmalamaktır.
Güncellenme tarihi ; 20 dakikalık okuma.
Kısa yanıt
FileArk, büyük veya gözetimsiz geçişler için daha basit ve yönetilen bir seçenektir: aktarımı çevrimiçi olarak yürütür, çok terabaytlık iş yükleriyle test edilmiştir ve tamamlamadan önce her sonucu kontrol eder. Veri yolunu kabuk üzerinden yönetmek isteyen operatörler için bu MIT lisanslı Bash sarmalayıcısı, sınırlandırılmış toplu işlemleri yerel bir hazırlama alanı üzerinden kopyalar, her iki aşamayı bayt bayt doğrular ve kaynak dosyaları hiçbir zaman silmez.
Neden her sağlayıcı istemcisini baştan oluşturmak yerine rclone'ı sarmalamalısınız?
rclone; kabuk tabanlı bir iş akışına olgun bir sağlayıcı soyutlaması, OAuth yapılandırması, sayfalama, yeniden deneme davranışı, devam ettirilebilir aktarımlar, eşzamanlılık denetimleri, envanter komutları ve doğrulama komutları kazandırır. Böylece sarmalayıcı; yalnızca kopyalama komutları, sınırlandırılmış hazırlama alanı, kapasite rezervleri, deterministik dosya listeleri ve kalıcı ilerleme gibi geçiş değişmezlerine odaklanabilir.
Ancak bu, işi otomatik hâle getirmez. Uzak depo yapılandırması, belirteç güvenliği, ağın çalışır durumda olması, süreç gözetimi, yerel disk, günlükler, sağlayıcı sınırları, başarısız nesnelerin incelenmesi ve hedefin kabulü yine operatörün sorumluluğundadır. FileArk, bu prosedürü iş istasyonu veya sunucularında yürütmek yerine yönetilen bir çevrimiçi iş akışı olarak kullanmak isteyenler için geliştirilmiştir.
Betik açıkça hiçbir zaman rclone move, sync, delete, purge veya rmdirs komutlarını çağırmaz. Keşif için lsf ve about, her aşamadaki kopyalama için copy, tam bayt doğrulaması içinse check --download kullanır. Yalnızca doğrulanmış dosya yerel hazırlama dizininden kaldırılır.
Bash sürümünü ve MIT lisansını indirin
Bash ve rclone aktarım programını indirin
Toplu işlem sınırları, yerel ve hedef rezervleri, tam bayt doğrulaması, kontrol noktaları, yeniden deneme denetimleri ve ağ gerektirmeyen bir demo içeren, yalnızca kopyalama yapan bir sarmalayıcı.fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · MIT lisansı
MIT lisansını indirin
Her iki FileArk manuel aktarım betiğini de kapsayan izin bildirimi.LICENSE-fileark-cloud-transfer.txt · MIT · düz metin
Ağ bağlantısı gerektirmeyen operatör demosunu çalıştırın

Bağımsız değişken ayrıştırma, bağımlılık kontrollerinden önce sonlandığı için demo, rclone veya jq kurulmadan önce güvenle çalıştırılabilir. Çıktı; yasaklanan yıkıcı işlemleri adlarıyla belirtir, her iki kapasite rezervini gösterir ve kaynak silme sayısıyla sona erer.
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpOperatör bağımlılıklarını yükleyip yapılandırın
Güncel bir rclone sürümünü resmi talimatlarını izleyerek, jq'yu ise işletim sisteminizin paket yöneticisinden yükleyin. Sarmalayıcı katı hata işleme ve modern koşullu ifadeler kullandığından Bash 4 veya daha yeni bir sürüm gereklidir.
rclone config komutunu çalıştırın ve örneğin onedrive: ile gdrive: gibi birbirinden bağımsız adlara sahip iki uzak depo oluşturun. Politikalar veya hız sınırları özel OAuth uygulamaları gerektiriyorsa kendi sağlayıcı istemci kimliğinizi ve gizli anahtarınızı girin. rclone, OAuth belirteçlerini yapılandırma dosyasında saklar; bu dosyayı kısıtlayıcı izinlerle koruyun ve asla betikle birlikte paketlemeyin.
Sarmalayıcıyı çalıştırmadan önce her uzak depoyu salt okunur bir listeleme ve kota komutuyla doğrulayın. Kapsama yalnızca bir alt ağaç giriyorsa onedrive:Department/Archive gibi yollar kullanın.
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqBaytları taşımadan önce deterministik bir envanteri sabitleyin
Sarmalayıcı, açıkça belirtilmiş bir sekme ayırıcı ve sp biçimiyle rclone lsf komutunu özyinelemeli olarak kullanarak önce boyutu, ardından yolu içeren bir çıktı üretir. Her boyutun sayısal, her yolun göreli olduğunu doğrular ve ardından doğrulanmış kontrol noktasında zaten bulunan yolları hariç tutar.
Bash sürümü; satır sonuyla ayrılmış --files-from-raw listeleri bunları belirsizlik olmadan temsil edemediği için sekme, satır başı veya yeni satır içeren dosya adlarını reddeder. Bu tür adlar varsa Python sürümünü veya bu amaç için geliştirilmiş bir envanter biçimini kullanın.
Yol tabanlı kontrol noktası kasıtlı olarak basit ve incelenebilir tutulmuştur. Çalıştırma sırasında kaynak yolların sabit kaldığını varsayar. Mümkünse kaynağa yazma işlemlerini durdurun; eşzamanlı değişiklikler bekleniyorsa envanteri yeniden oluşturup uzlaştırın.
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator