Gibt es eine Möglichkeit, den fehlerhaften Befehlsprozess scp (sichere Kopie) unter Linux fortzusetzen? [geschlossen]

240

Ich kopiere eine 7,5-GB-Datei mit dem Befehl scp auf einen Remote-Server . Irgendwann bricht die Dateiübertragung ab und ich muss von vorne anfangen.

Geht die temporäre Dateimenge, die übertragen wird, vollständig verloren? Kann ich die Übertragung irgendwie neu starten, von wo aus sie beim vorherigen Versuch gestoppt wurde? Wenn nicht, gibt es dafür einen Standardbefehl zur Übertragung von Unix-Befehlszeilendateien?

Matko
quelle
1
Weitere Antworten zu dieser Frage , inkl. Lösungen ohne rsync.
Tanius

Antworten:

399

Wenn Sie eine SCP-Übertragung von lokal zu remote fortsetzen müssen , versuchen Sie es mit rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

Kurzfassung, wie von @ aurelijus-rozenas hervorgehoben :

rsync -P -e ssh local_file user@host:remote_file

Im Allgemeinen ist die Reihenfolge der Argumente für rsync

rsync [options] SRC DEST
Tom McClure
quelle
34
Für einen anderen Port als Standard 22 verwendenrsync -P -e "ssh -p 222" SRC DEST
asofyan
4
Und wenn das rsync -eunterbrochen wird, habe ich festgestellt, dass das Umbenennen von. <Dateiname>. <6funnychars> in <Dateiname> am Zielort erfolgt ist, bevor die Wiederaufnahme fortgesetzt rsync -ewurde.
Gaoithe
5
rsync funktioniert nur, wenn Sie es auf der anderen Seite verfügbar haben.
Dothebart
1
Setzt rsync eine in scp begonnene Dateiübertragung wirklich fort? Werden tatsächlich zwei rsync-Befehle benötigt, ein rsync-Befehl, nicht scp, um den Kopiervorgang zu starten und dann die Verbindung zu trennen, und dann ein zweiter rsync-Befehl, um den Kopiervorgang fortzusetzen?
Geoffrey Anderson
4
Es spielt keine Rolle, wie Sie den teilweisen Download ursprünglich erhalten haben. Sie können mit scp beginnen und dann mit rsync beenden.
Tom McClure
17

Das ist alles was Sie brauchen.

 rsync -e ssh file host:/directory/.
DigitalRoss
quelle