2009-06-23 6 views
2

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

ответ

4

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

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

Затем можно отделить (Ctrl-D) с экрана, дайте ему поработать, однако долго он будет работать, а затем повторно прикрепить (экран - r test) на экран и увидеть весь вывод. Однако это предполагает, что у вас не будет тонны вывода команд. Here's a link to a tutorial on screen.

+0

Вам не нужно сначала подключиться к удаленному хосту, затем запустить сеанс сеанса,/then/выполнить команду? – MSpreij

+0

Я так не думаю. Насколько я понимаю, вы хотите получить весь вывод на одной консоли, поэтому вы запускаете экран, а затем запускаете команды. –

+0

Что делать, если у меня есть тонны вывода на одной консоли. Насколько велик буфер? –

0

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

+0

Программа, которую я хочу запустить удаленно, может занять несколько дней. Я просто хочу следить за живым прогрессом. –

1

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

5
ssh [email protected] command 

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

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

1

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

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

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

Смежные вопросы