2009-06-23 10 views
2

ich möchte einige befehle auf mehreren maschinen mit ssh. Ich weiß, dass es mit dem Befehl "ssh user @ hostname command" gemacht werden kann. Der Befehl, den ich ausführen möchte, gibt jedoch eine Zeichenfolge auf der Konsole aus. Gibt es irgendeine Möglichkeit, alle Saiten zurück zu der Konsole zu senden, auf der ich bin?running command auf remote-maschine mit ssh

Antwort

4

Sie könnten die Befehle in einem screen laufen:

screen -S test 
ssh [email protected] command1 
ssh [email protected] command2 

Anschließend können Sie (Ctrl-D) lösen sich von dem Bildschirm, lassen Sie es jedoch lange Sicht wird es laufen, dann anzubringen (Bildschirm - r Test) auf dem Bildschirm und sehen Sie die gesamte Ausgabe. Dies setzt voraus, dass Sie nicht viel von den Befehlen ausgeben werden. Here's a link to a tutorial on screen.

+0

Wollen Sie nicht zuerst eine Verbindung zum Remote-Host herstellen, dann eine Bildschirmsitzung dort starten,/dann/den Befehl ausführen? – MSpreij

+0

Ich glaube nicht. Wie ich die Frage verstehe, möchten Sie die gesamte Ausgabe auf einer Konsole, deshalb starten Sie den Bildschirm und führen Sie dann die Befehle aus. –

+0

Was ist, wenn ich Tonnen von Ausgaben auf einer Konsole habe. Wie groß ist der Puffer? –

0

Warum schicken Sie keine E-Mail zurück? Oder verwenden Sie eine Protokolldatei und scp es auf Ihrem aktuellen Computer? sonst weiß ich nicht!

+0

das Programm, das ich remote ausführen möchte, kann mehrere Tage dauern. Ich möchte nur den Live-Fortschritt überwachen können. –

1

Sie möchten wahrscheinlich Gnu Screen dafür verwenden. Sie können einen Prozess in einem "virtuellen" Terminal starten, das Terminal "trennen" und sich so lange abmelden, wie Sie wollen ... Dann können Sie das Terminal wieder anschliessen und wieder anhängen, um die Konsolenausgabe zu sehen.

5
ssh [email protected] command 

Macht nur das. Wenn 'command' etwas ausgibt, wird es auf dem Terminal angezeigt, von dem aus ssh ausgeführt wurde. Versuchen Sie z.B. ssh user @ hostname ls -l

Aber wie andere gesagt haben, ist GNU-Bildschirm für diese Art von Arbeit von unschätzbarem Wert.

1

haben auch einen Blick auf nohup, zum Beispiel:

ssh [email protected] nohup script_that_outputs_strings.py > the_strings.txt

Dann, wenn Sie sich zurück und überwachen den Fortschritt gehen möchten, können Sie prüfen, und tail die Datei oder scp die Ausgabe zurück zu Ihrem lokale Maschine.