Ich versuche, einige große Dateien (ca. 10 GB) mit einer langsamen Upload-Geschwindigkeit (200 kb / s) auf eine häufig getrennte SSH-Verbindung hochzuladen (aufgrund schlechter Netzwerkbedingungen).
Ich versuche es zu benutzen scp
, aber wenn es einen besten Weg über SSH gibt, bin ich damit einverstanden.
Wie geht das am besten?
Ich habe versucht, es mit in mehrere Teile aufzuteilen split
, aber es ist nicht wirklich effizient, da es vor und nach der Übertragung viel Handarbeit erfordert.
rsync
ist besser. Es kann neu gestartet werden, dh Sie können an der Stelle weitermachen, an der Sie aufgehört haben, wenn die Verbindung getrennt wurde. Sie werden wahrscheinlich die--partial
Flagge verwenden wollen. Und standardmäßig läuft es über ssh. Sie könnten es mit einem aggressiven Komprimierungsprogramm wie 7z kombinieren, aber Sie benötigen viel Speicher, und es wird noch eine Weile dauern.rsync -abvz --partial
. Können Sie eine Beispielsitzung zeigen?scp
. Es ist möglich, einen Upload mit fortzusetzenrsync --partial
. Es ist nicht möglich, einen Upload mit fortzusetzensftp
. Für die andere Richtung, dh die Wiederaufnahme Downloads, die Sie verwenden könnenrsync --partial
,sftp reget
odersftp get -a
.Antworten:
Verwenden Sie rsync mit der Option --partial
Das --partial behält teilweise übertragene Dateien bei. Wenn Sie die rsync-Übertragung nach einer unterbrochenen ssh-Verbindung fortsetzen, werden teilweise übertragene Dateien ab dem Punkt fortgesetzt, an dem die ssh-Verbindung unterbrochen wurde, und erfolgreich übertragene Dateien werden nicht erneut übertragen.
Überlegen Sie auch, ob Sie die Option -z verwenden möchten, wenn Sie der Meinung sind, dass die zu übertragenden Dateien erheblich komprimiert werden können. Beispiel: Protokolldateien mit wiederholtem Text.
quelle