Ich übertrage häufig große Verzeichnisse über scp
und es wäre süß, wenn ich das Verzeichnis irgendwie komprimieren, senden und alles in einem dekomprimieren könnte.
Ist so etwas möglich?
quelle
Ich übertrage häufig große Verzeichnisse über scp
und es wäre süß, wenn ich das Verzeichnis irgendwie komprimieren, senden und alles in einem dekomprimieren könnte.
Ist so etwas möglich?
Wie wäre es mit rsync
stattdessen mit dem -z
Option für Komprimierung aktiviert?
rsync -az --progress source_dir/* remote_host:/destination_dir
Dies hat auch den zusätzlichen Vorteil, dass, wenn die Datei bereits vorhanden ist und sich am Ziel nicht geändert hat, sie nicht übertragen wird.
Dank der Antwort von @ johnshen64 konnte ich mir etwas ganz Nettes einfallen lassen
tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination
Leider zeigt dies keinen Fortschritt bei der Übertragung. Ich habe mit dieser Methode unglaubliche Geschwindigkeitsverbesserungen festgestellt.
Wenn jemand weiß, wie man Fortschritte bei einer solchen Übertragung macht, würde ich mich über die Hilfe sehr freuen :)
pv
zwischen Teer und ssh .Nun, ich würde stattdessen Teer verwenden
tar cf - verzeichnis | ssh server 'tar xf -'
Sie können v zur Überprüfung hinzufügen.
zip sollte das selbe sein, aber meiner meinung nach ist tar für linux robuster.
quelle
-
Zeichen, verwendet auch gzip-Komprimierung und ermöglicht es, ein Zielverzeichnis anzuvisieren.f -
möglicherweise auf anderen Betriebssystemen erforderlich, da die meisten Teer Versionen versuchen andernfalls, von einem Bandlaufwerk zu lesen. Das Lesen von stdin ist standardmäßig GNU-spezifisch.