Мой скрипт с исходного сервера пытается подключиться по 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
Подробности:
hosts_list.txt
--> У меня есть список серверов для входа по SSHssh "$host"
--> вход по ssh происходит на первом сервере.. /**/***/*****/*****/******.${HOST}
--> внешний двоичный путь к команде доступен здесьchk_auto_up >> "/****/thishost/***/*****/cmd_output.txt"
--> Запускает команду и записывает вывод на исходный сервер.