Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Soungbird
Por lesko
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

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

Login: uberalles, 21229 pontos

Download:


Descrição

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.


[ Download: runtodas.sh ]   [ Enviar nova versão ]

[ 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
   Script Linux recomendado Visual para tcpdump com dialog
   Script Linux recomendado mountcp.sh
   Script Linux recomendado Autenticação automática no Speedy Home
   Script Linux recomendado Automação para midias removíveis
   Script Linux recomendado Backup

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.