ssh a varios servidores y ejecutar comandos específicos de la aplicación en lugar de comandos del sistema operativo

ssh a varios servidores y ejecutar comandos específicos de la aplicación en lugar de comandos del sistema operativo

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:

  1. hosts_list.txt --> Tengo una lista de servidores para iniciar sesión por ssh
  2. ssh "$host" --> El inicio de sesión ssh ocurre en el primer servidor.
  3. . /**/***/*****/*****/******.${HOST}--> La ruta binaria del comando externo está disponible aquí
  4. chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt" --> Ejecute el comando y escribe la salida en el servidor de origen.

información relacionada