Weil Sie rsyncdirekt von Ihrem lokalen Computer aus können.
Johnsyweb
2
Oh ... ja ich kann. Ich sehe jetzt die anderen Antworten. Vielen Dank.
Markstewie
17
Dies ist eine häufige Aufgabe für die (Web-) Entwicklung mit einer guten Antwort. Ich verstehe nicht, warum es noch geschlossen ist.
d.raev
6
Ich denke, @ d.raev bezog sich auf die Tatsache, dass die Frage als nicht zum Thema gehörend geschlossen wurde (wenn ich mich richtig erinnere, habe ich markiert, dass diese Frage zu SuperUser migriert wird, wo sie meiner Meinung nach besser passt), anstatt dass es keine akzeptierte Antwort gab . Trotzdem ... es war schön, dass meine Antwort nach all der Zeit akzeptiert wurde. :-)
Johnsyweb
3
@markstewie keine schlechten Gefühle, es ist eine gute Frage und es hat mir geholfen (scheint auch viele andere zu sein), aber dieses "geschlossene" lässt es nicht vertrauenswürdig aussehen, so dass ich es gewohnt bin, etwas Aufmerksamkeit darauf zu lenken.
@cmcdragonkai: In der Tat muss der lokale Host einen SSH-Server ausführen und für den Remote-Host zugänglich sein. Dies ist einer der Gründe, warum ich die erste Lösung der zweiten vorziehe.
Johnsyweb
16
Seien Sie vorsichtig, wenn Sie mit nachgestellten Schrägstrichen synchronisieren. Der von Johnnysweb gegebene Befehl würde ein Verzeichnis namens copy inside erstellen /path/to/local/storage. Wie so /path/to/local/storage/copy. Wenn es das ist, was du großartig willst. Ein häufigeres Szenario ist jedoch, dass Sie den Inhalt des Remote-Verzeichnisses in ein Verzeichnis in Ihrem lokalen Verzeichnis kopieren möchten. Dann würden Sie tun, /path/to/copy/was den Inhalt innerhalb des Verzeichnisses platzieren würde, /path/to/local/storageohne ein lokales Kopierverzeichnis zu erstellen.
Kap
16
Ich bin wegen eines rsync-Befehls hierher gekommen und habe EXPLAINSHELL.com erhalten . Danke @beefsack!
Cyphase
50
Wenn Sie über SSH-Zugriff verfügen, müssen Sie nicht zuerst SSH und dann kopieren. Verwenden Sie einfach Secure Copy (SCP) vom Ziel.
scp user@host:/path/file /localpath/file
Platzhalterzeichen werden also unterstützt
scp user@host:/path/folder/* /localpath/folder
kopiert alle entfernten Dateien in diesem Ordner. Wenn mehr als ein Verzeichnis kopiert wird.
note -r kopiert auch alle Unterordner und Inhalte.
Warum scpeher verwenden als rsync? Achten Sie auch darauf, dass Ihre Shell nicht versucht, sich zu erweitern user@host:/path/folder/*, möglicherweise mithilfe von einfachen Anführungszeichen ( ').
Johnsyweb
Ich finde es einfacher, scp vom Ziel aus zu verwenden ... Im Wesentlichen handelt es sich um eine Dateikopie über ssh, ohne dass zuerst die ssh-Verbindung hergestellt werden muss.
Tezyn
8
Ich weiß was scpist, das war nicht meine Frage. Warum hast du nicht benutzt rsync? Dies ist, was die Frage verlangt, erfordert keine etablierte SSH-Sitzung und ist oft schneller und effizienter als scp.
Johnsyweb
26
Denken Sie daran, scp folgt Symlinks, anstatt sie zu kopieren. Dies kann dazu führen, dass mehr kopiert wird als erwartet und Symlinks verloren gehen (diese werden zu normalen Ordnern / Dateien).
Mondane
2
Mondanes Antwort ist genau der Grund, warum ich diesen Beitrag gefunden habe. Normalerweise verwende ich scp für alles, aber ich musste die Berechtigungen und den Symlink von Server zu Server beibehalten. Auch der Geschwindigkeitsunterschied (bc mein Neuling selbst definitiv zuerst scped) war riesig.
rsync
direkt von Ihrem lokalen Computer aus können.Antworten:
Von Ihrem lokalen Computer:
Von Ihrem lokalen Computer mit einem nicht standardmäßigen SSH-Port:
Oder vom Remote-Host, vorausgesetzt, Sie möchten wirklich so arbeiten und Ihr lokaler Computer lauscht SSH:
Siehe
man rsync
für eine Erklärung meiner üblichen Schalter.quelle
/path/to/local/storage
. Wie so/path/to/local/storage/copy
. Wenn es das ist, was du großartig willst. Ein häufigeres Szenario ist jedoch, dass Sie den Inhalt des Remote-Verzeichnisses in ein Verzeichnis in Ihrem lokalen Verzeichnis kopieren möchten. Dann würden Sie tun,/path/to/copy/
was den Inhalt innerhalb des Verzeichnisses platzieren würde,/path/to/local/storage
ohne ein lokales Kopierverzeichnis zu erstellen.Wenn Sie über SSH-Zugriff verfügen, müssen Sie nicht zuerst SSH und dann kopieren. Verwenden Sie einfach Secure Copy (SCP) vom Ziel.
Platzhalterzeichen werden also unterstützt
kopiert alle entfernten Dateien in diesem Ordner. Wenn mehr als ein Verzeichnis kopiert wird.
note -r kopiert auch alle Unterordner und Inhalte.
quelle
scp
eher verwenden alsrsync
? Achten Sie auch darauf, dass Ihre Shell nicht versucht, sich zu erweiternuser@host:/path/folder/*
, möglicherweise mithilfe von einfachen Anführungszeichen ('
).scp
ist, das war nicht meine Frage. Warum hast du nicht benutztrsync
? Dies ist, was die Frage verlangt, erfordert keine etablierte SSH-Sitzung und ist oft schneller und effizienter alsscp
.