запуск команды на удаленной машине с использованием ssh - PullRequest
2 голосов
/ 24 июня 2009

Я хочу запустить какую-нибудь команду на нескольких машинах, используя ssh. Я знаю, что это можно сделать с помощью команды "ssh user @ hostname command". Тем не менее, команда, которую я хочу запустить, напечатает некоторую строку в консоли. Есть ли способ отправить все строки обратно на консоль, на которой я нахожусь?

Ответы [ 5 ]

6 голосов
/ 24 июня 2009
 ssh user@hostname command 

Делает именно это. если команда выводит что-то, это будет отображаться на терминале, с которого вы запускали ssh. Попробуйте, например, ssh user @ hostname ls -l

Но, как уже говорили другие, экран GNU незаменим для этого типа работы.

6 голосов
/ 24 июня 2009

Вы можете запускать команды на экране :

screen -S test
ssh user@hostname command1
ssh user@hostname2 command2

Затем вы можете отсоединить (Ctrl-D) от экрана, дать ему поработать так долго, как он будет работать, затем снова прикрепить (screen -r test) к экрану и увидеть все результаты. Это предполагает, что у вас не будет тонны вывода команд. Вот ссылка на учебник на экране .

1 голос
/ 24 июня 2009

Также посмотрите на nohup, например:

ssh user@domain.com nohup script_that_outputs_strings.py > the_strings.txt

Затем, если вы захотите вернуться и следить за ходом процесса, вы можете проверить и tail файл или scp вывод обратно на локальный компьютер.

1 голос
/ 24 июня 2009

Возможно, вы захотите использовать Gnu Screen для этого. Вы можете запустить процесс в «виртуальном» терминале, «отсоединить» терминал и выйти из системы так долго, как вам захочется ... Затем вы можете снова подключиться и снова подключить терминал, чтобы увидеть вывод консоли.

0 голосов
/ 24 июня 2009

Почему бы вам не отправить вам электронное письмо обратно? Или использовать файл журнала и скопировать его на свой текущий компьютер? иначе я не знаю!

...