Bash + rclone · OneDrive ↔ Google Drive · Ghid operațional open-source
Transfer în cloud exclusiv prin copiere, în Bash cu rclone
rclone gestionează deja paginarea în cloud, reîncercările, transferurile reluabile și hashurile furnizorilor. Sarcina tehnică este de a include aceste primitive într-o procedură operațională care se oprește în siguranță la eroare și ține cont de capacitate.
Actualizat ; 20 min de lectură.
Pe scurt
FileArk este opțiunea gestionată mai simplă pentru migrări mari sau nesupravegheate: efectuează transferul online, a fost testat cu volume de lucru de mai mulți terabyți și verifică fiecare rezultat înainte de finalizare. Pentru operatorii care doresc să controleze calea datelor prin shell, acest script wrapper Bash cu licență MIT copiază loturi limitate printr-o zonă de stocare intermediară locală, verifică octet cu octet ambele segmente și nu șterge niciodată fișierele sursă.
De ce să includeți rclone într-un script wrapper în loc să reconstruiți clientul fiecărui furnizor
rclone oferă unui flux de lucru shell o abstractizare matură a furnizorilor, configurare OAuth, paginare, mecanisme de reîncercare, transferuri reluabile, controlul concurenței, comenzi pentru inventariere și comenzi pentru verificare. Astfel, scriptul wrapper se poate concentra asupra proprietăților esențiale ale migrării: comenzi care doar copiază, stocare intermediară limitată, rezerve de capacitate, liste deterministe de fișiere și progres persistent.
Acest lucru nu automatizează operațiunea. Operatorul rămâne responsabil pentru configurarea stocărilor la distanță, securitatea tokenurilor, disponibilitatea rețelei, supravegherea procesului, discul local, jurnalele, limitele furnizorilor, examinarea obiectelor eșuate și acceptarea destinației. FileArk se adresează utilizatorilor care doresc ca această procedură să fie efectuată ca un flux de lucru online gestionat, nu pe stația lor de lucru sau pe serverul lor.
Scriptul nu apelează niciodată în mod explicit rclone move, sync, delete, purge sau rmdirs. Folosește lsf și about pentru detectare, copy pentru fiecare segment și check --download pentru verificarea integrală a octeților. Singura eliminare este cea a unui fișier verificat din directorul local de stocare intermediară.
Descărcați ediția Bash și licența MIT
Descărcați programul de transfer Bash și rclone
Un script wrapper care doar copiază, cu limite pentru loturi, rezerve locale și la destinație, verificarea integrală a octeților, puncte de control, controlul reîncercărilor și o demonstrație fără acces la rețea.fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · licență MIT
Descărcați licența MIT
Notificare privind permisiunea, aplicabilă ambelor scripturi FileArk pentru transfer manual.LICENSE-fileark-cloud-transfer.txt · MIT · text simplu
Rulați demonstrația pentru operator fără acces la rețea

Demonstrația poate fi rulată în siguranță înainte de instalarea rclone sau jq, deoarece analiza argumentelor se încheie înainte de verificarea dependențelor. Rezultatul afișat enumeră operațiunile distructive interzise, prezintă ambele rezerve de capacitate și se încheie cu numărul de ștergeri din sursă.
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpInstalați și configurați dependențele necesare operatorului
Instalați o versiune recentă de rclone urmând instrucțiunile oficiale și instalați jq folosind managerul de pachete al sistemului de operare. Este necesar Bash 4 sau o versiune mai nouă, deoarece scriptul de încadrare folosește gestionarea strictă a erorilor și expresii condiționale moderne.
Rulați rclone config și creați două stocări la distanță cu nume distincte, de exemplu onedrive: și gdrive:. Introduceți propriul ID de client și secret de client pentru furnizor atunci când politicile sau limitele de rată necesită aplicații OAuth dedicate. rclone stochează tokenurile OAuth în fișierul său de configurare; protejați fișierul prin permisiuni restrictive și nu îl includeți niciodată împreună cu scriptul.
Confirmați fiecare stocare la distanță printr-o comandă de listare doar în citire și una pentru cotă înainte de a rula scriptul wrapper. Folosiți căi precum onedrive:Department/Archive atunci când operațiunea vizează doar un subarbore.
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqFixați un inventar determinist înainte de a transfera octeți
Scriptul wrapper folosește recursiv rclone lsf, cu un tabulator explicit ca separator și formatul sp, generând dimensiunea urmată de cale. Acesta validează că fiecare dimensiune este numerică și fiecare cale este relativă, apoi exclude căile deja prezente în punctul de control verificat.
Ediția Bash respinge numele de fișiere care conțin tabulatori, retururi de car sau linii noi, deoarece listele --files-from-raw delimitate prin linii noi nu le pot reprezenta fără ambiguitate. Folosiți ediția Python sau un format de inventar creat special atunci când există astfel de nume.
Un punct de control bazat pe căi este intenționat simplu și ușor de inspectat. Acesta presupune că toate căile sursă rămân neschimbate pe durata rulării. Dacă este posibil, suspendați scrierile în sursă sau regenerați și reconciliați inventarul atunci când sunt așteptate modificări simultane.
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator