De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Execução de comandos em múltiplas máquinas
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 30 de Dezembro de 1997
Administradores de sistemas com muitas máquinas com frequência
precisam executar o mesmo conjunto de comandos em todas elas
simultaneamente.
Um simples laço pode tornar esta tarefa bem simples.
Por exemplo(ksh ou sh):
# for i in alpha beta gama delta
> do
> rsh $i mv /etc/group /etc/group.971221
> rcp /etc/group $i:/etc/group
> done
No shell script acima, os comandos serão executados
nas máquinas alpha, beta, gama e delta. Os comandos
estão sendo executados interativamente e não a partir
de um shell script.
Não se esqueça que as máquinas onde os comandos serão
executados precisam "confiar" na máquina a partir de onde
os comandos serão emitidos (.rhosts ou /etc/hosts.equiv).
Os comandos podem ser quaisquer comandos que você precisar
executar.
Outra consideração, dependendo do número de máquinas, é conveniente
que todas as máquinas recebam nomes de acordo com alguma convenção
para que não fique difícil se lembrar de todas elas, ou pior, que
você se esqueça de alguma delas. Uma idéia seria nomear as máquinas
como algo do tipo ws1, ws2, ws3, etc. Aí então o shell script poderia
ficar parecido com
# for m in 1 2 3 4 5 6 7 8 9 10
> do
> rsh ws$m rm arquivo.txt
> done
Bem mais simples, não?