запуск команды на удаленной машине с использованием ssh
-
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
вернуть его на свой локальный компьютер.
Почему бы вам не отправить вам электронное письмо назад? Или использовать файл журнала и скопировать его на свой текущий компьютер? иначе я не знаю!