Execução remota com SSH e HERE DOCUMENTS descomplicada

Publicado por Andre Miguel (última atualização em 08/12/2009)

[ Hits: 5.146 ]

Download runtodas.sh




Tive um problema para executar shell scripts desenvolvidos em BASH script em máquinas remotas, pois o usuário utilizado tinha como shell padrão o C Shell ou o Korn Shell.

Para fazer isso, utilizei conexão SSH, via chave já configurada, evitando ter que recolocar a senha, e o recurso de HERE DOCUMENTS do BASH. Também lancei mão da funcionalidade de "||", que significa que se o comando anterior executado retornou erro, faça outra coisa.

Nesse caso em específico, eu tinha uma série de servidores em que o mesmo arquivo Perl (mesmo conteúdo, mesma finalidade), tinha nomes ligeiramente diferentes e versões velhas e desatualizadas (muita gente pondo a mão, se é que você me entende...).

Ex:

$ runall.pl
e
$ runalls2.pl

Veja abaixo que o recurso de "||" me serviu para saber qual dos dois Perl scripts eu deveria executar.

O script abaixo foi desenvolvido em BASH para "adiantar o serviço" de administrador de sistemas. É claro que há maneiras diferentes de se fazer, mas vale a dica. Ele está do jeito exato que está no arquivo, com <ENTER> dado no lugar mais apropriado para sua execução, apenas alterei nomes de programas e diretórios.

  



Esconder código-fonte

#/bin/bash

cd ~/script

for i in `cat servers.list`; do ssh $i "bash -c \"`cat <<-EOF
((~/run*2.pl; ~/run*2.pl out) || (~/run*.pl; ~/run*.pl out)) 2>/dev/null |strings;
EOF`\""; for j in $(ssh $i "bash -c \"`cat <<-EOF
((~/run*2.pl; ~/run*2.pl out) || (~/run*.pl; ~/run*.pl out)) 2>/dev/null |strings |grep location |cut -d '|' -f 2
EOF`\""); do ssh $i "cat $j/../settings/programs/running; echo"; done |sort -u; echo -e "\n\n"; done

Scripts recomendados

SSH manager

Compara colunas e mostra a maior

Firewall com iproute2 para 2 links com ip fixo

Barra de Progresso com Shell Script

Gerenciamento de clientes com cbq,squid e firewall no kurumin.


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts