Befehl auf dem Remote-Computer ausgeführt wird mit ssh
-
10-07-2019 - |
Frage
Ich mag einen Befehl auf mehrere Maschine mit ssh laufen. Ich weiß, es kann nur mit dem Befehl „ssh user @ hostname Befehl“ durchgeführt werden. der Befehl i ausführen möchten jedoch auf eine Schnur auf der Konsole aus. Gibt es eine Möglichkeit, dass alle Fäden wieder an die Konsole senden, die ich bin auf?
Lösung
Sie können die Befehle in einem Bildschirm rel="nofollow:
screen -S test
ssh user@hostname command1
ssh user@hostname2 command2
Sie können dann lösen (Ctrl-D) aus dem Bildschirm, lassen Sie es jedoch lange Sicht wird es laufen, dann anzubringen (screen -r-Test) auf den Bildschirm und die gesamte Ausgabe sehen. Dies setzt voraus, dass Sie nicht eine Tonne der Befehlsausgabe, jedoch haben werden. Hier ist ein Link zu einem Tutorial auf dem Bildschirm .
Andere Tipps
ssh user@hostname command
genau das tut. wenn ‚Befehl‘ etwas gibt, wird es auf dem Terminal zeigen Sie laufen ssh aus. Versuchen Sie zum Beispiel ssh user @ hostname ls -l
Aber wie andere gesagt haben, GNU Screen ist von unschätzbarem Wert für diese Art von Arbeit.
Sie wollen wahrscheinlich Gnu Bildschirm für diesen Einsatz. Sie können einen Prozess in einem „virtuellen“ Terminal starten „lösen“ das Terminal und melden Sie sich für wie lange wollen Sie ... Dann können Sie wieder an und wieder befestigen das Terminal ssh die Konsolenausgabe zu sehen.
Haben Sie auch einen Blick auf nohup
, zum Beispiel:
ssh user@domain.com nohup script_that_outputs_strings.py > the_strings.txt
Wenn Sie dann zurück und überwachen den Fortschritt gehen möchten, können Sie prüfen, und tail
die Datei oder scp
die Ausgabe zurück auf den lokalen Rechner.
Warum Sie Sie nicht zurück E-Mail? Oder verwenden Sie eine Protokolldatei, und scp es auf Ihrem aktuellen Computer? sonst, ich weiß es nicht!