SSH-JOB soll weiterlaufen
Wer über SSH auf einem ferngewarteten Server eine Aktion startet, der hat nicht immer auf der Rechnung, dass die Aktion (Update, Backup, Download) längere Zeit beanspruchen kann. Der aktuell genutzte Rechner kann daher nicht beendet werden, ohne zugleich die Aktion auf dem Server abzubrechen. Störend ist das in erster Linie dann, wenn man den Rechner eigentlich demnächst herunterfahren möchte.
Die an dieser Stelle schon mehrfach beschriebenen Terminalmultiplexer wie zum Beispiel Tmux helfen nicht direkt weiter: Sie erlauben zwar das Schließen des Terminals und sogar das Abmelden vom System, jedoch nicht das Herunterfahren: Beim Shutdown wird die Tmux- oder Screen-sitzung beendet, und folglich stoppt auch die Aktion auf dem entfernten Ssh-server. Dieses Problem ist nur mit dem Umweg über einen zweiten Sshserver zu lösen.
Das klingt jetzt nach einem Administratoren-thema im Serverraum, ist allerdings in Zeiten des Raspberry-booms längst auch beim Heimanwender gelebter Alltag. Im konkreten Fall funktioniert das so:
1. Sie starten auf dem PC, den Sie demnächst herunterfahren wollen, im Terminal eine Sshsitzung auf dem Server, der nur als Mittelsmann dienen soll – etwa mithilfe von: ssh root@192.168.178.20
2. Dort muss Tmux installiert sein (sudo apt install tmux), das Sie mit tmux starten. Daraufhin öffnen Sie die Ssh-sitzung auf dem eigentlichen Zielrechner: ssh root@192.168.178.30
3. Auf dem Ssh-prompt des Zielrechners starten Sie danach den gewünschten Prozess.
4. Den Computer, auf welchem Sie aktuell arbeiten, können Sie nunmehr jederzeit beenden. Tmux auf dem vermittelnden Rechner sorgt dafür, dass der Prozess auf dem Zielrechner weiterläuft. -ha