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

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

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

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

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

У меня ошибка, сообщающая, что команда не найдена

решение1

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

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

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

решение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" --> Запускает команду и записывает вывод на исходный сервер.

Связанный контент