Мой сценарий с исходного сервера пытается использовать ssh на нескольких серверах и запускать специфичную для приложения команду, которую я могу сказать, кроме команд операционной системы (например, cat, chmod ..), я получаю сообщение об ошибке, например command: not found. Ниже приведен сценарий.
for host in $(cat hosts_list.txt)
do
ssh $host chk_auto_up > "cmd_output.txt"
done
Может ли кто-нибудь помочь, что я должен включить в сценарий, чтобы идентифицировать команду и запускать и записывать вывод в файл?
У меня есть ошибка, говорящая, что команда не найдена
Я нашел ответ, как запустить внешнюю команду через 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"
--> Выполняем команду и записываем вывод на исходный сервер. вы просто редактируете строку:
ssh $host /path/of/chk_auto_up > "cmd_output.txt"
Определите абсолютный путь команды.