Ich habe normalerweise mehrere Terminalfenster, von denen jedes über ssh mit einem Remote-Server verbunden ist. In jedem Fenster arbeite ich mit dem Gnu-Bildschirmprogramm, um die Persistenz der interaktiven Prozesse im Falle einer Unterbrechung sicherzustellen.
Derzeit muss ich die SSH-Sitzung in jedem Fenster manuell und mühsam neu starten, wenn die SSH-Verbindung unterbrochen wird (z. B. wenn ich meinen Client-Computer über Nacht in den Ruhezustand versetze), und dann in jedem Fenster die spezifische Bildschirmsitzung mühsam fortsetzen (z. B. "Bildschirm -"). r 3453 "in einem Fenster," Bildschirm -r 3462 "im anderen usw.)
Gibt es eine elegante Möglichkeit, dies zu automatisieren? Speziell:
Verbinden Sie die SSH-Sitzung erneut, wenn sie unterbrochen wird, sobald eine Internetverbindung erkannt wird
Führen Sie die spezifische Bildschirminstanz für das Terminalfenster aus, sobald ssh erneut eine Verbindung herstellt
Vielen Dank für alle Tipps dazu
quelle
Keine Notwendigkeit, Bash-Loops zu hacken. Sie müssen in autossh schauen . Ich habe es nicht viel selbst verwendet, aber mein Verständnis ist , dass man einfach ersetzen
ssh
mitautossh
in Ihrem Befehl.Bearbeiten: Tatsächlich wird autossh mit einem Skript geliefert
rscreen
, das genau für diesen Zweck entwickelt zu sein scheint.quelle