Wie kann ich ein Verzeichnis mit gzip komprimieren, per scp übertragen und mit einem Befehl dekomprimieren?

Wie kann ich ein Verzeichnis mit gzip komprimieren, per scp übertragen und mit einem Befehl dekomprimieren?

Ich übertrage häufig große Verzeichnisse scpund es wäre toll, wenn ich das Verzeichnis irgendwie komprimieren, senden und gleichzeitig dekomprimieren könnte.

Ist so etwas möglich?

Antwort1

Wie wäre es rsyncstattdessen mit -zaktivierter Option zur Komprimierung?

rsync -az --progress source_dir/* remote_host:/destination_dir

Dies hat außerdem den Vorteil, dass die Datei nicht übertragen wird, wenn sie bereits vorhanden ist und am Ziel nicht geändert wurde.

Antwort2

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 wird der Übertragungsfortschritt nicht angezeigt. Ich habe mit dieser Methode unglaubliche Geschwindigkeitsverbesserungen festgestellt.

Wenn jemand weiß, wie man den Fortschritt einer solchen Übertragung anzeigt, wäre ich für die Hilfe sehr dankbar :)

Antwort3

nun, ich würde stattdessen tar verwenden

tar cf - Verzeichnis | SSH-Server „tar xf -“

Sie können zur Überprüfung ein v hinzufügen.

Bei Zip sollte es dasselbe sein, aber meiner Meinung nach ist Tar für Linux robuster.

verwandte Informationen