Lawrence, boa tarde. Quando respondi a duvida do Luiz, foi apenas pensando em ssh executando um comando, não analisando o comando que ele estava executando. Utilizado bastante ssh dessa forma e pra mim sempre funcionou :D
[]s Fabricio Candido 2010/5/27 Lawrence Waclawiak <[email protected]> > > > A solução do Fabricio é a que funcionou > > > ssh r...@${vetor[$zero]} "df && echo && free -m && echo" > > Porém eu aconselho fortemente substituir o "&&" por " ;", pois usando o > && se um comando der errado os outros não são executados. > > Veja os exemplos: > > # Com todos os comando executados com sucesso e usando "&&" > l...@lbw-laptop:~/tmp$ ssh [email protected] <root%4010.10.50.14> "df && > echo && free -m && echo" > Filesystem 1K-blocks Used Available Use% Mounted on > /dev/sda2 29753588 7312640 20905136 26% / > /dev/sda4 167662204 78348136 80659856 50% /var > /dev/sda1 101086 17781 78086 19% /boot > tmpfs 4087008 0 4087008 0% /dev/shm > > total used free shared buffers cached > Mem: 7982 7924 57 0 373 6541 > -/+ buffers/cache: 1010 6972 > Swap: 8997 0 8997 > > # Com o df passando um argumento inválido e usando "&&" > l...@lbw-laptop:~/tmp$ ssh [email protected] <root%4010.10.50.14> "df > --naoexiste && echo && > free -m && echo" > df: unrecognized option `--naoexiste' > Try `df --help' for more information. > l...@lbw-laptop:~/tmp$ > > # O mesmo de cima mas usando o ";" > l...@lbw-laptop:~/tmp$ ssh [email protected] <root%4010.10.50.14> "df > --naoexiste ; echo ; free > -m ; echo" > > total used free shared buffers cached > Mem: 7982 7937 45 0 373 6540 > -/+ buffers/cache: 1023 6958 > Swap: 8997 0 8997 > > df: unrecognized option `--naoexiste' > Try `df --help' for more information. > l...@lbw-laptop:~/tmp$ > > Pegou a questão? > > Thiago Diniz da Silveira escreveu: > > > Bom.. até agora não sei qual solução funcionou.. > > > > foi colocar os comandos ao lado do comando do ssh? a primeira solução > > proposta? > > > > Também acho que deve ter jeito mais fácil e/ou pronto para fazer isso que > > ele quer. > > > > Em 27 de maio de 2010 15:24, Lawrence Waclawiak > > <[email protected] <lawrencebbw%40yahoo.com.br>>escreveu: > > > > > >> Sua solução funcionou para mim. > >> > >> Adicionalmente se não for possivel utilizar as chaves para não pedir > >> senha pode-se usar um progrma chamado sshpass para passar a senha para o > >> ssh, utilizo isso para disparar comandos para várias maquinas que > >> administro > >> > >> Fabricio Candido escreveu: > >> > >> > >>> Luiz, bom dia. > >>> > >>> Isso nao seria bem shell mas como vc esta usando ssh, Uma sugestão: > mude > >>> as linhas: > >>> > >>> ssh r...@${vetor[$zero]} > >>> df && echo && free -m && echo > >>> exit > >>> > >>> por: > >>> > >>> ssh r...@${vetor[$zero]} "df && echo && free -m && echo" > >>> > >>> > >>> Att. > >>> > >>> Fabricio Candido > >>> > >>> 2010/5/27 Luiz guilherme Nunes Fernandes > >>> <[email protected]<spinal_df%40yahoo.com.br> > <spinal_df%40yahoo.com.br> > >>> > >>> > >>> > >>> > >>>> Prezados, tudo bem? > >>>> > >>>> Estou com o seguinte problema, montei um script, que não funciona > >>>> corretamente, gostaria que ele fizessse conexão ssh entre umas 100 > >>>> > >> máquinas > >> > >>>> aproximadamente. Dentro dos vetores eu iria adicionando os ips de > minha > >>>> rede, os servidores já possuem chaves assimétricas. Gostaria que ele > >>>> conectasse um por um deles e desconectassem, como seria para eu > >>>> > >> desconectar > >> > >>>> no servidor com o próprio script na máquina local. Quando ele se > conecta > >>>> > >> ao > >> > >>>> primeiro ip, ele não fecha a coneção do ssh. > >>>> > >>>> #!/bin/bash > >>>> > >>>> #Desenvolvido por Luiz Guilherme Nunes Fernandes > >>>> > >>>> rddez="10.10." > >>>> rdcnd="192.168." > >>>> > >>>> #Rede 10.10.0.0 > >>>> vetor=("$rddez"190.10 "$rddez"190.12) > >>>> > >>>> #Rede 192.168.0.0 > >>>> array=("$rdcnd"10.2 "$rdcnd"10.3) > >>>> > >>>> echo "###############" > >>>> > >>>> ################################ > >>>> ########## Rede 10.10 ########## > >>>> ################################ > >>>> > >>>> cont=${#vetor[*]} > >>>> zero=0 > >>>> while [ $zero -lt $cont ]; do > >>>> echo ${vetor[$zero]} > >>>> ssh r...@${vetor[$zero]} > >>>> df && echo && free -m && echo > >>>> exit > >>>> zero=$[zero + 1] > >>>> echo "###############" > >>>> done > >>>> > >>>> ################################ > >>>> ######### Rede 192.168 ######### > >>>> ################################ > >>>> > >>>> contt=${#array[*]} > >>>> inicial=0 > >>>> while [ $inicial -lt $contt ]; do > >>>> echo ${array[$inicial]} > >>>> ssh r...@{array[$inicial]} > >>>> df && echo && free -m && echo > >>>> exit > >>>> inicial=$[inicial + 1] > >>>> echo "###############" > >>>> done > >>>> > >>>> Att. > >>>> Luiz Guilherme Nunes Fernandes > >>>> > >>>> [As partes desta mensagem que não continham texto foram removidas] > >>>> > >>>> > >>>> > >>>> > >>>> > >>> [As partes desta mensagem que não continham texto foram removidas] > >>> > >>> > >>> > >>> ------------------------------------ > >>> > >>> ---------------------------------------------------------- > >>> Esta lista não admite a abordagem de outras liguagens de programação, > >>> > >> como perl, C etc. Quem insistir em não seguir esta regra será moderado > sem > >> prévio aviso. > >> > >>> ---------------------------------------------------------- > >>> Sair da lista: > >>> [email protected]<shell-script-unsubscribe%40yahoogrupos.com.br> > <shell-script-unsubscribe%40yahoogrupos.com.br> > >>> ---------------------------------------------------------- > >>> Esta lista é moderada de acordo com o previsto em > >>> > >> http://www.listas-discussao.cjb.net > >> > >>> ---------------------------------------------------------- > >>> Servidor Newsgroup da lista: news.gmane.org > >>> Grupo: gmane.org.user-groups.programming.shell.brazil > >>> > >>> Links do Yahoo! Grupos > >>> > >>> > >>> > >>> > >>> > >> > >> > >> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > ------------------------------------ > > > > ---------------------------------------------------------- > > Esta lista não admite a abordagem de outras liguagens de programação, > como perl, C etc. Quem insistir em não seguir esta regra será moderado sem > prévio aviso. > > ---------------------------------------------------------- > > Sair da lista: > > [email protected]<shell-script-unsubscribe%40yahoogrupos.com.br> > > ---------------------------------------------------------- > > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > > ---------------------------------------------------------- > > Servidor Newsgroup da lista: news.gmane.org > > Grupo: gmane.org.user-groups.programming.shell.brazil > > > > Links do Yahoo! Grupos > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [email protected] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [email protected] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
