Ich habe mehrere tausend Dateien mit jeweils ~ 1 MB über scp übertragen und meine Verbindung wurde nach den ersten 2 KB-Dateien oder so unterbrochen. Ich wollte wissen, ob es eine Möglichkeit gibt, die rekursive Übertragung fortzusetzen, ohne von vorne zu beginnen. Etwas wie
$ scp -r [email protected]:/datafiles/ ./
... Happy Transfer ...
... BREAK! ...
$ rsync -P [email protected]:/datafiles/ ./
... Continue transf...
Das Problem ist, ich kann nicht scheinen, die Syntax richtig zu erhalten, wenn es möglich ist. Kann jemand etwas Licht ins Dunkel bringen, wenn / wie es getan werden kann?
PS. Wenn Sie den Schrägstrich nach "datafiles" in der Zeile "rsync" angeben, überträgt dies das Verzeichnis oder seinen Inhalt? Ich habe widersprüchliche Kommentare gesehen, als ich gegoogelt habe.
ssh -i akey.pem
ist erforderlich und ich kann das-i
Teil nicht dazu bringen , mit diesen Befehlen zu arbeiten.--partial --inplace --no-whole-file
.-l
ist nicht nötig. Es ist impliziert durch-a
Die folgende Zeile sollte den Trick dafür machen:
rsync --partial --progress --rsh = ssh -r [email protected]: / datafiles / ./
Ich habe dies noch nie für rekursive Verzeichnisse verwendet, aber als ich es gerade geschrieben habe, schien es wie erwartet zu funktionieren.
quelle
Der aufgeführte Befehl rsync würde funktionieren, wenn Sie nur "-r" hinzufügen. Sie möchten aber höchstwahrscheinlich auch "-a" und "-v".
Und zum abschließenden Schrägstrich [email protected]: / data / entspricht / data / *. Mit anderen Worten, wenn Sie einen Schrägstrich hinzufügen, wird der gesamte Inhalt kopiert. aber [email protected]: / data wäre das Verzeichnis selbst [und natürlich seine Unterordner]
quelle
Das Zusammenführen der Antworten von Kibitzer und Tyler hat für mich am besten funktioniert:
(rekursives Synchronisieren und Anzeige des Fortschritts jeder Datei)
quelle