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?

War es hilfreich?

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!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top