ssh на несколько серверов и запускать специфичные для приложения команды, а не команды ОС

Мой сценарий с исходного сервера пытается использовать ssh на нескольких серверах и запускать специфичную для приложения команду, которую я могу сказать, кроме команд операционной системы (например, cat, chmod ..), я получаю сообщение об ошибке, например command: not found. Ниже приведен сценарий.

for host in $(cat hosts_list.txt)
do
ssh $host chk_auto_up > "cmd_output.txt"
done

Может ли кто-нибудь помочь, что я должен включить в сценарий, чтобы идентифицировать команду и запускать и записывать вывод в файл?

У меня есть ошибка, говорящая, что команда не найдена

0
13.04.2017, 01:41
2 ответа

Я нашел ответ, как запустить внешнюю команду через ssh удаленно.

for host in $(cat /***/thishost/**/username/hosts_list.txt)
do
ssh "$host"
. /**/***/*****/*****/******.${HOST}  
chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt"
exit
done

Подробности:

  1. hosts_list.txt --> У меня есть список серверов для входа по ssh
  2. ssh "$host" --> вход по ssh происходит на первом сервере.
  3. . /**/***/*****/*****/******.${HOST} --> бинарный путь внешней команды доступен здесь
  4. chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt" --> Выполняем команду и записываем вывод на исходный сервер.
0
28.01.2020, 02:46

вы просто редактируете строку:

ssh $host /path/of/chk_auto_up > "cmd_output.txt"

Определите абсолютный путь команды.

1
28.01.2020, 02:46

Теги

Похожие вопросы