Uma proposta:
#!/bin/bash
while read -r n; do
</dev/null ssh root@$n "ANYCOMMAND"
done < ~/nodes
Eu quero executar alguns comandos em alguns servidores.
Então, eu criei um arquivo bash:
#!/bin/sh
for n in 'cat ~/nodes'; do
gnome-terminal -x ssh root@$n
ANYCOMMAND
done
As conexões são estabelecidas em novos terminais.
Como eu poderia aplicar o ANYCOMMAND em cada servidor?
Existem várias ferramentas disponíveis para executar comandos em vários hosts ao mesmo tempo em sincronia. Alguns deles abrem janelas de terminal no X (por exemplo, ClusterSSH), a maioria é para executar comandos no CLI:
Para quase todas as ferramentas, você tem a possibilidade de enviar comandos e, adicionalmente, ter shells interativos. Caso contrário, o envio de comandos para servidores executa os comandos em vez de ter shells de login interativos.