Bash + rclone · OneDrive ↔ Google Drive · Guida operativa open source
Trasferimento cloud di sola copia in Bash con rclone
rclone gestisce già la paginazione cloud, i nuovi tentativi, i trasferimenti ripristinabili e gli hash dei provider. Il compito ingegneristico consiste nel racchiudere queste primitive in una procedura operativa fail-closed che tenga conto della capacità.
Aggiornato ; 20 min di lettura.
In breve
FileArk è la scelta gestita più semplice per migrazioni di grandi dimensioni o non presidiate: esegue il trasferimento online, è stato testato con carichi di lavoro di vari terabyte e controlla ogni risultato prima del completamento. Per gli operatori che desiderano controllare il percorso dei dati dalla shell, questo wrapper Bash con licenza MIT copia batch di dimensioni limitate tramite staging locale, verifica byte per byte entrambe le tratte e non elimina mai i file di origine.
Perché creare un wrapper per rclone anziché ricostruire ogni client dei provider
rclone offre a un flusso di lavoro shell un'astrazione matura dei provider, configurazione OAuth, paginazione, gestione dei tentativi, trasferimenti ripristinabili, controlli della concorrenza e comandi di inventario e verifica. Il wrapper può quindi concentrarsi sugli invarianti della migrazione: comandi di sola copia, staging limitato, riserve di capacità, elenchi di file deterministici e avanzamento persistente.
Ciò non rende automatica l'operazione. L'operatore resta responsabile della configurazione dei remoti, della sicurezza dei token, della disponibilità della rete, della supervisione del processo, del disco locale, dei log, dei limiti dei provider, della revisione degli oggetti non riusciti e dell'accettazione della destinazione. FileArk è pensato per chi preferisce che questa procedura venga eseguita come flusso di lavoro online gestito, anziché sulla propria workstation o sul proprio server.
Lo script non richiama mai esplicitamente rclone move, sync, delete, purge o rmdirs. Usa lsf e about per il rilevamento, copy per ogni tratta e check --download per la verifica completa dei byte. L'unica rimozione riguarda un file verificato dalla directory di staging locale.
Scarica l'edizione Bash e la licenza MIT
Scarica il programma di trasferimento Bash e rclone
Un wrapper di sola copia con limiti per i batch, riserve locali e di destinazione, verifica completa dei byte, checkpoint, controlli dei nuovi tentativi e una demo senza rete.fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · licenza MIT
Scarica la licenza MIT
Avviso sulle autorizzazioni relativo a entrambi gli script FileArk per il trasferimento manuale.LICENSE-fileark-cloud-transfer.txt · MIT · testo normale
Esegui la demo operativa senza connessione di rete

La demo può essere eseguita in sicurezza prima di installare rclone o jq, perché l'analisi degli argomenti termina prima dei controlli delle dipendenze. L'output elenca le operazioni distruttive vietate, mostra entrambe le riserve di capacità e termina con il numero di eliminazioni dall'origine.
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpInstalla e configura le dipendenze operative
Installa una versione recente di rclone seguendo le istruzioni ufficiali e installa jq tramite il gestore dei pacchetti del sistema operativo. È richiesto Bash 4 o una versione successiva perché il wrapper usa una gestione rigorosa degli errori ed espressioni condizionali moderne.
Esegui rclone config e crea due remoti con nomi distinti, ad esempio onedrive: e gdrive:. Inserisci l'ID client e il segreto del tuo provider quando i criteri o i limiti di frequenza richiedono applicazioni OAuth dedicate. rclone archivia i token OAuth nel proprio file di configurazione: proteggilo con autorizzazioni restrittive e non distribuirlo mai insieme allo script.
Prima di eseguire il wrapper, verifica ogni remoto con un comando di elenco in sola lettura e uno per la quota. Usa percorsi come onedrive:Department/Archive quando l'ambito comprende solo un sottoalbero.
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqBloccare un inventario deterministico prima di trasferire i byte
Il wrapper usa rclone lsf in modo ricorsivo, con un separatore di tabulazione esplicito e il formato sp, producendo prima la dimensione e poi il percorso. Verifica che ogni dimensione sia numerica e ogni percorso sia relativo, quindi esclude i percorsi già presenti nel checkpoint verificato.
L'edizione Bash rifiuta i nomi di file contenenti tabulazioni, ritorni a capo o nuove righe, perché gli elenchi --files-from-raw delimitati da nuove righe non possono rappresentarli senza ambiguità. Quando sono presenti nomi di questo tipo, usa l'edizione Python o un formato di inventario apposito.
Un checkpoint basato sui percorsi è volutamente semplice e ispezionabile. Presuppone che i percorsi di origine rimangano invariati durante l'esecuzione. Se possibile, blocca le scritture sull'origine oppure rigenera e riconcilia l'inventario quando sono previste modifiche simultanee.
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator