Gibt es eine Möglichkeit, einen bereits laufenden SCP-Prozess anzuhalten?

Gibt es eine Möglichkeit, einen bereits laufenden SCP-Prozess anzuhalten?

Ich kopiere eine große Datei mit scpund habe festgestellt, dass am Ziel möglicherweise nicht genügend Speicherplatz vorhanden ist, um den Vorgang abzuschließen. Kann ich den Vorgang irgendwie anhalten, möglicherweise für mehrere Stunden, und später fortsetzen? Und wenn der Vorgang fehlschlägt ( no space left on device), kann ich ihn fortsetzen, nachdem ich etwas Speicherplatz freigegeben habe?

(Beachten Sie, dass scpes bereits ausgeführt wird; Lösungen wie die Verwendung eines anderen Programms funktionieren nicht.)

Antwort1

Sie können einen Prozess mit SIGSTOP anhalten und später mit SIGCONT fortsetzen. ( kill -lEine Liste der Signale finden Sie hier. Verwenden Sie diese, psum die Prozess-ID abzurufen.)

Es besteht jedoch eine gewisse Wahrscheinlichkeit, dass dies nicht funktioniert. Zum Beispiel, wenn Sie zwischen Quelle und Ziel einen Router haben, der eine tote Verbindung erkennt und „bereinigt“. Die meisten SOHO-Router scheinen dies zu tun, weil das Bereinigen von Verbindungen weniger Speicherverbrauch bedeutet. (Und daher können sie billigere Router bauen.)

Wenn das passiert, müssen Sie entweder erneut mit scp kopieren oder Sie können rsync verwenden.

Rsync hat den Vorteil, dass es bereits vorhandene Dateien vergleicht und keine Daten unnötig kopiert. In deinem Fall sollte es eine bereits vorhandene, teilweise hochgeladene Datei erkennen und nur den Rest der Datei hochladen.

Die Syntax wärersync -v -e ssh /home/my_file [email protected]:~

-v für ausführlich. -e „SSH-Optionen“, um SSH als Remote-Shell festzulegen.

Wenn Ihre Daten komprimierbar sind, möchten Sie möglicherweise -zeine Komprimierung der Daten hinzufügen.

verwandte Informationen