Mi script del servidor de origen intenta ssh en varios servidores y ejecuta el comando específico de la aplicación que puedo decir, además de los comandos del sistema operativo (como cat, chmod...), aparece el error comando: no encontrado. A continuación se muestra el guión.
for host in $(cat hosts_list.txt)
do
ssh $host chk_auto_up > "cmd_output.txt"
done
¿Alguien puede ayudarme? ¿Qué debo incluir en el script para identificar el comando y ejecutar y escribir el resultado del archivo?
Tengo un error al decir que el comando no se encontró.
Respuesta1
simplemente editas la línea:
ssh $host /path/of/chk_auto_up > "cmd_output.txt"
Defina la ruta absoluta del comando.
Respuesta2
Encontré una respuesta sobre cómo ejecutar un comando externo a través de ssh de forma remota.
for host in $(cat /***/thishost/**/username/hosts_list.txt)
do
ssh "$host"
. /**/***/*****/*****/******.${HOST}
chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt"
exit
done
Detalles:
hosts_list.txt
--> Tengo una lista de servidores para iniciar sesión por sshssh "$host"
--> El inicio de sesión ssh ocurre en el primer servidor.. /**/***/*****/*****/******.${HOST}
--> La ruta binaria del comando externo está disponible aquíchk_auto_up >> "/****/thishost/***/*****/cmd_output.txt"
--> Ejecute el comando y escribe la salida en el servidor de origen.