Ich habe vor, mir bald einen VPS-Server für einige der ressourcenintensiven Websites zuzulegen, die ich verwalte. Ich lebe in einem Land, in dem eine Internetgeschwindigkeit von 1 Mbit/s ein Luxus und ständige, unterbrechungsfreie Stromversorgung ein Mythos ist.
Folgendes möchte ich erreichen:
- So kopieren Sie die Dateien und Verzeichnisse über SSH/SCP vom Quellserver auf den Zielserver.
- Wie kann ich das Kopieren der Dateien zwischen den Servern aufrechterhalten, auch wenn meine Internetverbindung unterbrochen wird oder die Stromversorgung ausfällt?
- Wie erreiche ich, dass die Dateien weiterhin zwischen beiden Servern kopiert werden, wenn ich mein Terminalfenster schließe?
Ich weiß, dass das Kopieren über scp funktioniert, aber es sieht nicht so aus, als ob es weiter funktioniert, wenn ich offline gehe.
Antwort1
rsync -azvP source_directory user@remote:remote_directory
sollte Ihnen das Kopieren von Dateien zwischen zwei Computern ermöglichen und gleichzeitig den Fortschritt bei Unterbrechungen speichern.
Hier finden Sie auch eine Erklärung zu jeder Flagge.http://explainshell.com/explain?cmd=rsync+-azvP
Wenn Sie dies auf einem Server ausführen möchten, ohne angemeldet zu sein, können Sie den obigen Befehl an den nohup
Befehl übergeben. Sie können dies auch in einer tmux-Sitzung ausführen, wodurch Sie den Fortschritt überwachen (oder den Befehl neu starten) können, indem Sie die Sitzung anhängen, wenn Sie sich bei Ihrem Computer anmelden.
Sie können eine tmux-Sitzung starten, indem Sie tmux
auf Ihrem Server eingeben. Anschließend können Sie den Befehl rsync ausführen und die tmux-Sitzung trennen, indem Sie CTRL+b
und dann eingeben d
. Das Abmelden hat keine Auswirkungen auf den Kopiervorgang. Wenn Sie sich wieder anmelden, können tmux attach
Sie eingeben und den Fortschritt des Kopiervorgangs anzeigen.
Hoffe, das hilft! Sagen Sie mir Bescheid, wenn ich etwas klarstellen kann.
Antwort2
Ich empfehle Ihnen dringend, sich den Befehl rsync einmal anzusehen. Der Befehl rsync ist nützlich, da er Übertragungen problemlos fortsetzen kann. Rsync läuft standardmäßig über einen SSH-Transport, Sie benötigen lediglich die rsync-Binärdatei auf dem Client und dem Server.
Rsync erkennt, was bereits übertragen wurde, und überträgt nur die Dateien und Teile von Dateien, die noch nicht übertragen wurden.
Antwort3
Ich glaube, das sollte das Problem lösen:
nohup scp -r big-folder remote-machine:/home/user/ &
Dieser Befehl startet den Kopiervorgang und setzt den Kopiervorgang nach Ihrer Abmeldung fort.