Bash + rclone · OneDrive ↔ Google Drive · Panduan operasional sumber terbuka
Transfer Cloud Khusus Penyalinan di Bash dengan rclone
rclone sudah memahami paginasi cloud, percobaan ulang, transfer yang dapat dilanjutkan, dan hash penyedia. Tugas rekayasanya adalah membungkus fungsi-fungsi dasar tersebut dalam prosedur operasional yang berhenti dengan aman jika terjadi kegagalan dan mempertimbangkan kapasitas.
Diperbarui ; 20 menit membaca.
Jawaban singkat
FileArk adalah pilihan terkelola yang lebih sederhana untuk migrasi besar atau tanpa pengawasan: FileArk menjalankan transfer secara online, telah diuji dengan beban kerja multiterabyte, dan memeriksa setiap hasil sebelum selesai. Bagi operator yang menginginkan jalur data yang dikendalikan melalui shell, wrapper Bash berlisensi MIT ini menyalin batch terbatas melalui staging lokal, memverifikasi kedua tahap byte demi byte, dan tidak pernah menghapus file sumber.
Mengapa membungkus rclone alih-alih membangun ulang setiap klien penyedia
rclone menyediakan abstraksi penyedia yang matang, konfigurasi OAuth, paginasi, mekanisme percobaan ulang, transfer yang dapat dilanjutkan, kontrol konkurensi, perintah inventaris, dan perintah verifikasi untuk alur kerja shell. Dengan demikian, wrapper dapat berfokus pada prinsip tetap migrasi: perintah yang hanya menyalin, staging terbatas, cadangan kapasitas, daftar file deterministik, dan progres yang tersimpan secara persisten.
Hal tersebut tidak menjadikan pekerjaan ini otomatis. Operator tetap bertanggung jawab atas konfigurasi remote, keamanan token, ketersediaan jaringan, pengawasan proses, disk lokal, log, batas penyedia, peninjauan objek yang gagal, dan penerimaan hasil di tujuan. FileArk tersedia bagi pengguna yang ingin prosedur tersebut dijalankan sebagai alur kerja online terkelola, bukan di workstation atau server mereka.
Skrip secara eksplisit tidak pernah menjalankan rclone move, sync, delete, purge, atau rmdirs. Skrip menggunakan lsf dan about untuk penemuan, copy untuk setiap tahap, serta check --download untuk verifikasi seluruh byte. Satu-satunya penghapusan adalah file terverifikasi dari direktori staging lokal.
Unduh edisi Bash dan lisensi MIT
Unduh program transfer Bash dan rclone
Wrapper khusus penyalinan dengan batas batch, cadangan kapasitas lokal dan tujuan, verifikasi seluruh byte, checkpoint, kontrol percobaan ulang, serta demo tanpa jaringan.fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · Lisensi MIT
Unduh lisensi MIT
Pemberitahuan izin yang mencakup kedua skrip transfer manual FileArk.LICENSE-fileark-cloud-transfer.txt · MIT · teks biasa
Jalankan demo operator tanpa jaringan

Demo aman dijalankan sebelum rclone atau jq diinstal karena penguraian argumen berhenti sebelum pemeriksaan dependensi. Output menyebutkan operasi destruktif yang dilarang, menampilkan kedua cadangan kapasitas, dan diakhiri dengan jumlah penghapusan dari sumber.
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpInstal dan konfigurasikan dependensi operator
Instal rilis rclone terkini dengan mengikuti petunjuk resminya, lalu instal jq melalui pengelola paket sistem operasi Anda. Bash 4 atau versi lebih baru diperlukan karena skrip pembungkus menggunakan penanganan kesalahan yang ketat dan ekspresi kondisional modern.
Jalankan rclone config dan buat dua remote dengan nama berbeda, misalnya onedrive: dan gdrive:. Masukkan ID klien dan rahasia klien penyedia Anda sendiri jika kebijakan atau batas laju mengharuskan aplikasi OAuth khusus. rclone menyimpan token OAuth dalam file konfigurasinya; lindungi file tersebut dengan izin akses yang ketat dan jangan pernah menyertakannya bersama skrip.
Konfirmasikan setiap remote dengan perintah daftar hanya-baca dan kuota sebelum menjalankan wrapper. Gunakan jalur seperti onedrive:Department/Archive jika cakupannya hanya mencakup satu subpohon.
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqBekukan inventaris deterministik sebelum memindahkan byte
Wrapper menggunakan rclone lsf secara rekursif dengan pemisah tab eksplisit dan format sp, yang menghasilkan ukuran diikuti jalur. Wrapper memvalidasi bahwa setiap ukuran berupa angka dan setiap jalur bersifat relatif, lalu mengecualikan jalur yang sudah tercantum dalam checkpoint terverifikasi.
Edisi Bash menolak nama file yang mengandung tab, carriage return, atau baris baru karena daftar --files-from-raw yang dipisahkan oleh baris baru tidak dapat merepresentasikannya tanpa ambiguitas. Gunakan edisi Python atau format inventaris yang dibuat khusus jika nama-nama tersebut ada.
Checkpoint berbasis jalur sengaja dibuat sederhana dan mudah diperiksa. Mekanisme ini mengasumsikan jalur sumber tetap stabil selama proses berlangsung. Bekukan penulisan ke sumber jika memungkinkan, atau buat ulang dan rekonsiliasi inventaris jika diperkirakan ada perubahan bersamaan.
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator