Bash + rclone · OneDrive ↔ Google Drive · Open-Source-Betriebsleitfaden
Cloud-Übertragung nur per Kopie mit Bash und rclone
rclone beherrscht bereits Cloud-Paginierung, Wiederholungsversuche, fortsetzbare Übertragungen und anbieterspezifische Hashwerte. Die technische Aufgabe besteht darin, diese Grundbausteine in einen ausfallsicheren, kapazitätsbewussten Betriebsablauf einzubetten.
Aktualisiert ; 20 Min. Lesezeit.
Kurzantwort
FileArk ist die einfachere verwaltete Lösung für große oder unbeaufsichtigte Migrationen: Es führt die Übertragung online aus, wurde mit Datenmengen von mehreren Terabyte getestet und prüft jedes Ergebnis vor dem Abschluss. Für Administratoren, die den Datenpfad über die Shell steuern möchten, kopiert dieser MIT-lizenzierte Bash-Wrapper begrenzte Batches über einen lokalen Zwischenspeicher, verifiziert beide Übertragungsabschnitte Byte für Byte und löscht niemals Quelldateien.
Warum rclone einbinden, statt jeden Anbieter-Client neu zu entwickeln?
rclone bietet einem Shell-Workflow eine ausgereifte Abstraktion der Anbieter, OAuth-Konfiguration, Paginierung, Wiederholungslogik, fortsetzbare Übertragungen, Steuerung der Parallelität sowie Befehle für Inventarisierung und Überprüfung. Der Wrapper kann sich daher auf die unveränderlichen Regeln der Migration konzentrieren: ausschließlich kopierende Befehle, begrenzte lokale Zwischenspeicherung, Kapazitätsreserven, deterministische Dateilisten und dauerhaft gespeicherter Fortschritt.
Dadurch läuft der Auftrag nicht automatisch ab. Die ausführende Person bleibt für die Remote-Konfiguration, die Token-Sicherheit, die Netzwerkverfügbarkeit, die Prozessüberwachung, den lokalen Datenträger, die Protokolle, Anbieterlimits, die Prüfung fehlgeschlagener Objekte und die Abnahme des Ziels verantwortlich. FileArk richtet sich an Nutzer, die diesen Ablauf als verwalteten Online-Workflow statt auf ihrem Arbeitsplatzrechner oder Server ausführen lassen möchten.
Das Skript ruft ausdrücklich niemals rclone move, sync, delete, purge oder rmdirs auf. Es verwendet lsf und about zur Ermittlung, copy für jeden Übertragungsabschnitt und check --download für die vollständige Byte-Überprüfung. Entfernt wird ausschließlich eine verifizierte Datei aus dem lokalen Zwischenspeicherverzeichnis.
Bash-Version und MIT-Lizenz herunterladen
Übertragungsprogramm für Bash und rclone herunterladen
Ein ausschließlich kopierender Wrapper mit Batch-Limits, lokalen und zielseitigen Reserven, vollständiger Byte-Überprüfung, Checkpoints, Wiederholungssteuerung und einer Demo ohne Netzwerkzugriff.fileark-cloud-transfer.sh · Bash 4+ · rclone · jq · MIT-Lizenz
MIT-Lizenz herunterladen
Lizenzhinweis für beide Skripte von FileArk zur manuellen Übertragung.LICENSE-fileark-cloud-transfer.txt · MIT · Klartext
Netzwerkfreie Demo für Administratoren ausführen

Die Demo kann gefahrlos ausgeführt werden, bevor rclone oder jq installiert ist, da die Argumentverarbeitung vor den Abhängigkeitsprüfungen beendet wird. Die Ausgabe nennt die untersagten destruktiven Vorgänge, zeigt beide Kapazitätsreserven und endet mit der Anzahl der Löschungen an der Quelle.
chmod +x fileark-cloud-transfer.sh
bash -n fileark-cloud-transfer.sh
./fileark-cloud-transfer.sh --demo
./fileark-cloud-transfer.sh --helpErforderliche Administrationswerkzeuge installieren und konfigurieren
Installieren Sie anhand der offiziellen Anleitung eine aktuelle Version von rclone und installieren Sie jq über die Paketverwaltung Ihres Betriebssystems. Bash 4 oder neuer ist erforderlich, da der Wrapper eine strikte Fehlerbehandlung und moderne bedingte Ausdrücke verwendet.
Führen Sie rclone config aus und erstellen Sie zwei unabhängig benannte Remotes, beispielsweise onedrive: und gdrive:. Geben Sie Ihre eigene Client-ID und Ihr eigenes Client-Secret des Anbieters ein, wenn Richtlinien oder Ratenlimits dedizierte OAuth-Anwendungen erfordern. rclone speichert OAuth-Token in seiner Konfigurationsdatei. Schützen Sie diese Datei mit restriktiven Berechtigungen und bündeln Sie sie niemals mit dem Skript.
Überprüfen Sie jedes Remote mit einem schreibgeschützten Auflistungs- und Kontingentbefehl, bevor Sie den Wrapper ausführen. Verwenden Sie Pfade wie onedrive:Department/Archive, wenn nur ein Teilbaum einbezogen werden soll.
rclone version
rclone config
rclone lsd onedrive:
rclone lsd gdrive:
rclone about onedrive: --json | jq
rclone about gdrive: --json | jqVor der Übertragung von Bytes ein deterministisches Inventar fixieren
Der Wrapper verwendet rclone lsf rekursiv mit einem expliziten Tabulator als Trennzeichen und dem Format sp. Dadurch wird zuerst die Größe und dann der Pfad ausgegeben. Er prüft, ob jede Größe numerisch und jeder Pfad relativ ist, und schließt anschließend Pfade aus, die bereits im verifizierten Checkpoint enthalten sind.
Die Bash-Version lehnt Dateinamen ab, die Tabulatoren, Wagenrückläufe oder Zeilenumbrüche enthalten, da zeilenumbruchgetrennte --files-from-raw-Listen sie nicht eindeutig darstellen können. Verwenden Sie die Python-Version oder ein speziell dafür entwickeltes Inventarformat, wenn solche Namen vorhanden sind.
Ein pfadbasierter Checkpoint ist bewusst einfach und leicht überprüfbar. Er setzt voraus, dass die Quellpfade während des Durchlaufs unverändert bleiben. Sperren Sie nach Möglichkeit Schreibzugriffe auf die Quelle oder erstellen Sie das Inventar neu und gleichen Sie es ab, wenn gleichzeitige Änderungen zu erwarten sind.
rclone lsf "$SOURCE" \
--recursive \
--files-only \
--format "sp" \
--separator