Redirecionando a saída de um script para o servidor remoto via scp ou ssh

0

Eu tenho um script que faz o ssh para todos os servidores e mostra a saída para cada execução; posso redirecionar essas saídas para /var/tmp/filename_output.txt on server1 ?

O script é executado de server1 para todo o servidor. Estes são os comandos que gostaria de executar para executar o script e salvar a saída:

ssh server1
./script.sh > /var/tmp/filename_output.txt

ssh server2
./script.sh >> server1:/var/tmp/filename_output.txt

ssh server3
./script.sh >> server1:/var/tmp/filename_output.txt
    
por Mongrel 29.01.2017 / 17:15

1 resposta

2

EDITAR:

Eu tenho feito algum teste, se você executar o comando como este, você obterá saída local

ssh yourserver < ./your_script.sh > your_script.stdout

END EDIT

Do meu ponto de vista, você tem duas opções.

Opção 1

Depois de executar o script.sh em cada servidor e ter sido escrito o resultado do comando para /var/tmp/filename_output.txt no servidor remoto

scp /var/tmp/filename_output.txt myserver:/prefered_location/server_name.log
rm /var/tmp/filename_output.txt

Opção 2

Exporte um NFS do seu servidor e importe em todos os servidores da sua rede, assim você pode ter um FS local em cada um dos outros servidores apontando para o principal e seus problemas são resolvidos colocando a saída do comando em um arquivo dentro do FS apontando para o NFS.

Se você precisar de instruções sobre como exportar um NFS e importá-lo em máquinas clientes, me avise

    
por 29.01.2017 / 17:21