Übertragen Sie Dateien über SSH

9

Ich möchte bei einigen Skripten die Dateiübertragung über SSH verwenden. Ich habe gelesen, dass es möglich ist, über ssh zu tarieren. Wo soll ich anfangen zu lesen?

Fernando Briano
quelle
Warum ziehst du Teer auf?
Zoredache
1
tar ist der schnellste Weg, um Dateien über SSH zu kopieren. scp und rsync haben viel Protokollaufwand beim Kopieren vieler kleiner Dateien.
Justin
@ Justin, natürlich geht man bei tar davon aus, dass man eine zuverlässige Verbindung hat. Wenn die Rohleistung keine Rolle spielt, ist es normalerweise besser, sich an die gängigsten und einfacheren Lösungen wie scp / rsync zu halten.
Zoredache
1
huh? tar over ssh ist nicht schlechter als scp oder rsync. Der einzige Aspekt, in dem rsync besser ist, ist, dass Sie damit fortfahren können. Wenn die Verbindung nicht zuverlässig ist, lohnt es sich wahrscheinlich immer noch, zuerst tar over ssh zu versuchen und dann die Übertragung mit rsync zu beenden.
Justin
@ Justin, das würde ein ziemlich komplexes Skript ergeben. Vielleicht sollten wir mit etwas beginnen, das etwas grundlegender ist.
John Gardeniers

Antworten:

23

Um die Dateiübertragung über ssh durchzuführen, können Sie

  • benutze scp
    • scp -r /srcdir/ user@remotehost:/destdir/
  • Verwenden Sie rsync über ssh (siehe Parameter -e).
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • Verwenden Sie ein Tool, das Daten über stdin / out überträgt ( tar , cpio usw.).
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • Hängen Sie das Dateisystem über sshfs ein (wenn die Sicherung auf Ihrem System unterstützt wird).
Zoredache
quelle
Ich benutze regelmäßig alle drei; Welches ich benutze, hängt von den Umständen ab.
Reinierpost
3

O'Reilly hat ein Buch mit allem dabei - SSH, The Secure Shell: The Definitive Guide - wenn Sie es googeln, gibt es viele Referenzen, Orte, an denen Sie es kaufen und online ansehen können.

Kevin K.
quelle
Ich muss es lieben, wenn du herabgestimmt wirst und keine Kommentare, die dich wissen lassen, warum. Er fragte, wo er anfangen soll zu lesen - und das ist online und in einem Buchladen erhältlich. Es ist eine großartige Referenz für ssh.
Kevin K
Ich denke das ist auch falsch. Warum wurden Sie (zweimal) abgewählt, da Sie die Frage tatsächlich beantwortet haben und die akzeptierte Antwort (bisher 15-mal abgewählt) eine allgemeine Methode zum Kopieren von Dateien über ssh ist, ohne dass angegeben wird, wo Sie mit dem Lesen beginnen sollen. Ich werde dich abstimmen, nur um zu versuchen, die Situation zu verbessern. Lass dich nicht von ihnen unterkriegen, Mann.
Richard Holloway
0

Für tar over ssh können Sie die Tatsache verwenden, dass ssh stdin und stdout weiterleitet. So können Sie tun

ssh server 'tar czf - /some/dir/' > tarfile.tar.gz

und haben die Sicherung auf dem lokalen Computer.

Dan Andreatta
quelle