запуск команды на удаленной машине с использованием ssh

StackOverflow https://stackoverflow.com/questions/1035764

  •  10-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

 ssh user@hostname command 

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

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

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

Также взгляните на nohup , например:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top