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
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.
Warum schicken Sie keine E-Mail zurück? Oder verwenden Sie eine Protokolldatei und scp es auf Ihrem aktuellen Computer? sonst weiß ich nicht!
das Programm, das ich remote ausführen möchte, kann mehrere Tage dauern. Ich möchte nur den Live-Fortschritt überwachen können. –
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.
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.
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.
- 1. Running MeteorJS auf Remote-Server
- 2. Running-Befehl auf Remote-Maschine mit Tramp?
- 3. Running Solr mit Jetty
- 4. Running docker auf Android
- 5. Running PostgreSQL mit Supervisord
- 6. docker-machine ssh auf AWS
- 7. Running Node.Js auf Android
- 8. Running Ruby auf Scotchbox
- 9. Running Mercurial auf Mavericks
- 10. Mit MvxCommand Mit Command
- 11. running valgrind
- 12. running ./configure in asterisk
- 13. Running CakePHP Shells auf Hintergrund
- 14. Running Batch Jobs auf Amazon ECS
- 15. Problem mit Running Guava
- 16. Running Ruby Edelsteine mit Cygwin
- 17. Running Schluck Aufgaben auf CruiseControl.NET
- 18. Vagrant scheitert mit stdin, Start, ssh, stderr & stdout Fehler
- 19. Running php Handwerker Timeout
- 20. Running fn_trace_gettable
- 21. Running Spring App gebaut mit Gradle auf Heroku
- 22. SSH Automatisierung auf Server
- 23. SSH-Konnektivität mit SSH-Schlüsseln validieren
- 24. Bash/Expect Skript für SSH
- 25. Intalling Wordpress auf einem VPS mit ssh
- 26. ssh mit compat nist auf solaris 10
- 27. Java Installation auf Linux ssh mit
- 28. SSH auf Vagrant Box mit anderem Benutzernamen
- 29. Remote-Zugriff auf den Host mit SSH
- 30. running jython bytecode mit java
Wollen Sie nicht zuerst eine Verbindung zum Remote-Host herstellen, dann eine Bildschirmsitzung dort starten,/dann/den Befehl ausführen? – MSpreij
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. –
Was ist, wenn ich Tonnen von Ausgaben auf einer Konsole habe. Wie groß ist der Puffer? –