Como escrever um script para fazer login em vários servidores usando loop e ssh?

1

Eu quero escrever um script usando um loop for e ssh, para fazer login em vários servidores. Depois de logar usando o comando awk, eu quero imprimir a 7ª coluna como saída.

Eu tentei o script abaixo, mas não consegui descobrir.

Eu criei uma lista de IPs em /tmp/list .

for i in 'cat /tmp/list'
do
echo $i
echo "***********"
ssh $i |grep tsm |awk -F : '{print $7, "\t"}'
echo
done
    
por Noopur Dubey 01.02.2016 / 18:30

1 resposta

2

pssh torna isso muito mais fácil, mas, para seu caso de uso simples, ssh também funcionará .

Embora o que você tem acima possa ter funcionado, desde que o servidor esteja configurado para executar um comando e sair no login (o que é pouco provável) você provavelmente quis dizer algo assim:

ssh $i <command> | grep tsm | ...

Se você realmente precisa verificar um banner de login para tsm , tente usar o comando exit para retornar imediatamente do ssh em vez de iniciar um shell interativo:

ssh $i "exit" | grep tsm | ...
    
por 01.02.2016 / 18:57

Tags