executa o comando em um host de um arquivo com um usuário de outro arquivo

0

Estou tentando criar um script que faça login em cada servidor a partir de uma lista com um usuário de outra lista e execute um comando. Como posso fazer isso pegando o primeiro host do arquivo e logando com o primeiro usuário de outro arquivo, pegue o segundo host do arquivo e faça o login com o segundo usuário do arquivo e assim por diante?

Isso é o que eu consegui até agora:

#!/bin/bash
for host in 'cat hosts.txt'
do
for user in 'cat users.txt' ;
do
ssh -t Natasha@$host << EOF ;
/usr/local/bin/sudo -i -u $user w ;
EOF
done
done

Mas isso está executando o comando para o primeiro host com todos os usuários da lista de usuários.

    
por Manu 28.10.2016 / 14:37

1 resposta

2

se houver o mesmo número de linhas no arquivo

paste hosts.txt users.txt |
while read host user
do
   ...
done

você pode tentar o comando paste primeiro para verificar se o host está com o usuário adequado.

    
por 28.10.2016 / 15:09