PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SCP TAR Stream



Sam Fisher
21.03.09, 16:37
Hallo !
Ich habe vor einem Jahr oder mehr hier mal eine gute Idee gelesen wie man Daten die per SCP übertragen werden vorher mit tar komprimieren konnte. Der Vorteil an dieser Methode war, dass ich es nicht vorher komprimieren und dann übertragen musste, sondern dass nur der Datenstrom direkt komprimiert wurde.

Irgend wer hatte dazu mal einen genialen Code gepostet den ich nun leider nicht mehr finde.

Weiß jemand von euch wo/wie das ging?
Vielen Dank und viele Grüße
Sam

derRichard
21.03.09, 17:13
hi!

aus dem kopf:


ssh me@remote "tar cf - /home" | tar xf - -C /home


hth,
//richard

Sam Fisher
22.03.09, 09:34
Hallo !
Das sieht irgend wie anders aus als der Code der damals gepostet wurde, aber ich habe es so getestet. aber es funktioniert nicht. Mit ist nicht ganz klar wo die Daten dann per SCP übertragen werden? Bei der Pipe?

Das BSP damals war irgend wie das man am Empfänger ein Script starten musste das gelauscht hat und dann erst die Übertragung starten durfte. Die Daten wurden per SCP verchickt und vorher aber noch mit TAR komprimiert und das SCript am Empfänger hat es dann sofort wieder dekomprimiert und unkomprimiert auf dem Ziel abgelegt.

Vielen Dank
Sam

michel_vaclav
22.03.09, 09:53
Hallo,

was spricht denn gegen folgende Vorgehensweise in einem Skript zusammengefasst:

- Dateien auf dem lokalen Rechner mit tar -czvf zusammenpacken
- tar.bz2-Datei mit scp auf entfernten Rechner übertragen
- tar.bz2-Datei via ssh user@entfernterRechner tar -xzvf wieder auspacken.

michel_vaclav

PS.: Der Fehler in derRichards Zeile ist vermutlich die Kombination cxf im ersten tar-Befehl. c legt ein Archiv an, x extrahiert. Ob das in einem tar funktioniert wage ich zu bezweifeln. Lass mal das x im ersten Befehl weg (ungetestet)

Roger Wilco
22.03.09, 10:45
Mit ist nicht ganz klar wo die Daten dann per SCP übertragen werden? Bei der Pipe?
Ja, so könnte man das interpretieren. Wobei scp an sich auch nichts anderes macht. Schau dir einfach mal die Prozessliste an, wenn du etwas per scp herumschiebst. ;)


Das BSP damals war irgend wie das man am Empfänger ein Script starten musste das gelauscht hat und dann erst die Übertragung starten durfte.
Klingt eher nach netcat...


was spricht denn gegen folgende Vorgehensweise
Dass das Archiv auf dem Quellrechner erst gespeichert werden muss. Was machst du aber, wenn dafür nicht genügend Platz vorhanden ist?

Stormbringer
22.03.09, 10:53
Wie wäre es hiermit?


tar -cvf - /zu/kopierender/Pfad | ssh user@host "cd /Ziel/Pfad; tar -xvf - "


Bis denn

Roger Wilco
22.03.09, 10:57
Das ist das gleiche Verfahren, das derRichard gepostet hat (Syntaxfehler in tar mal ausgenommen), nur eben einmal aus der Perspektive des Zielrechners, einmal aus der Perspektive des Quellrechners...

michel_vaclav
22.03.09, 10:57
Was machst du aber, wenn dafür nicht genügend Platz vorhanden ist?OK, verstanden. Solche Probleme hab ich nicht ;)

michel_vaclav

Stormbringer
22.03.09, 11:13
Das ist das gleiche Verfahren, das derRichard gepostet hat (Syntaxfehler in tar mal ausgenommen), nur eben einmal aus der Perspektive des Zielrechners, einmal aus der Perspektive des Quellrechners...
Joo, aber da 'Sam Fisher' nur grob sagte, der Code sähe anders aus als der damalige (ohne es näher zu spezifizieren), wollte ich eine andere Vorgehensweise posten - denn an den Optionen der genannten Programme tar & scp gibt es ja nicht viel grundlegendes zu ändern ;)

Sam Fisher
22.03.09, 11:15
Hallo !


was spricht denn gegen folgende Vorgehensweise in einem Skript zusammengefasst:

- Dateien auf dem lokalen Rechner mit tar -czvf zusammenpacken
- tar.bz2-Datei mit scp auf entfernten Rechner übertragen
- tar.bz2-Datei via ssh user@entfernterRechner tar -xzvf wieder auspacken.



Nun ja, auf ein paar Rechnern ist es wirklich ein Platzproblem, aber auf meinen Servern habe ich meistens genug platz zur Verfügung. Der Grund ist eher folgender: Wenn man öfters 30 bis 60 GB Archive packen muss dauert das selbst auf schnellen Rechnern seine Zeit. Da heißt es dann erst einmal warten. Und dann alles fertig ist muss ich die Übertragung abwarten und dann schnussendlich dort wieder dekomprimieren. Das dauert alles länger. Wenn ich nun aber die Zeit des Übertragens auch zum Packen und entpacken nutze bin ich da deutlich schneller. Hoffe ich zumindest ;)


Ja, so könnte man das interpretieren. Wobei scp an sich auch nichts anderes macht. Schau dir einfach mal die Prozessliste an, wenn du etwas per scp herumschiebst.
Wie peinlich, das hätte ich wissen müssen :mad:

Klingt eher nach netcat...
Yeah, das war das Schlagwort. Ich habe hier gefunden was ich suche: http://www.jfranken.de/homepages/johannes/vortraege/netcat.de.html
Dort unter dem Punkt: Verzeichnisbäume über ein Internet kopieren.

Vielen Dank an alle die mir geholfen haben.
Viele Grüße und einen schönen Sonntag noch.
Sam