ssh para vários servidores e execute os comandos específicos do aplicativo em vez dos comandos do SO

0

Meu script do servidor de origem tentando ssh em vários servidores e executar o comando específico do aplicativo que eu posso dizer, diferente de comandos do sistema operacional (como cat, chmod ..), recebo o erro como comando: não encontrado. Abaixo está o script.

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

Alguém pode ajudar, o que devo incluir no script para identificar o comando e executar e gravar a saída do arquivo?

Eu tenho erro ao dizer que o comando não foi encontrado

    
por rajesh 12.04.2017 / 04:58

2 respostas

1

você acabou de editar a linha:

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

Defina o caminho absoluto do comando.

    
por 12.04.2017 / 08:15
0

Eu encontrei uma resposta que explica como executar o comando externo sobre o ssh remotamente.

for host in $(cat /***/thishost/**/username/hosts_list.txt)
do
ssh "$host"
. /**/***/*****/*****/******.${HOST}  
chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt"
exit
done

Detalhes:

  1. hosts_list.txt - > Eu tenho lista de servidores para login por ssh
  2. ssh "$host" - > O login do ssh acontece no primeiro servidor.
  3. . /**/***/*****/*****/******.${HOST} - > o caminho binário do comando externo está disponível aqui
  4. chk_auto_up >> "/****/thishost/***/*****/cmd_output.txt" - > Execute o comando e grave a saída no servidor de origem.
por 12.04.2017 / 08:04

Tags