Führen Sie weiterhin ein Skript über ssh aus

7

ssh kann verwendet werden, um Remote-Befehle auszuführen.

ssh me@server.com 'long-script.sh'

Ich führe ein langes Skript aus, das viel Zeit in Anspruch nimmt, aber ich möchte meinen Computer schließen und das Skript weiterhin auf dem Remote-Server ausführen. Ich weiß, wie ich das mit GNU Screen erreichen kann , aber ich muss es über tun ssh.

Kann ich das tun, ohne mein Skript zu unterbrechen?

Arturo Herrero
quelle
3
Was ist falsch am Startbildschirm auf dem Remote-Server?
Choroba

Antworten:

7

Verwenden Sie "nohup", um einen Befehl auszuführen, der gegen Aufhängen immun ist und dessen Ausgabe an ein Nicht-tty erfolgt:

nohup your_command &

und um einen Befehl über ssh auszuführen, ohne sich zuerst am Remote-Computer anzumelden:

ssh user_name@machine_address "nohup your_script.sh" &
neuron34
quelle
4
$ ssh me@server.com screen -dm long-script.sh
Funollet
quelle
4

ssh user@server "nohup script.sh >/var/log/output.log 2>&1 &"

Damit sollte der Remote-Befehl ausgeführt werden, ohne dass ein laufender SSH-Prozess auf Ihrem Client verbleibt.

Nils
quelle