Como executar o mesmo comando em vários servidores ao mesmo tempo

image_pdfimage_print

Uma das formas de executar via ssh comandos em múltiplos servidores ao mesmo tempo é com o uso do clusterssh.

Com ele é possível administrar simultaneamente servidores via terminal, através de uma única janela gráfica é possível que comandos sejam executados interativamente em múltiplos servidores sobre uma conexão SSH. O comando dado na janela principal é repetido para as demais.

Clusterssh é muito útil na administração de servidores possibilitando de forma simples e direta realizar a mesma tarefa em vários servidores ao mesmo tempo.

Uma das formas de utilizá-lo na linha de comando é:

cssh -l <usuário> <ip_ou_nome_do_servidor1>:<porta_se_diferente_da_22> <ip_ou_nome_do_servidor2>:<porta_se_diferente_da_22> <ip_ou_nome_do_servidor3>:<porta_se_diferente_da_22> (...) <ip_ou_nome_do_servidorN>:<porta_se_diferente_da_22>

Como podemos ver acima, a lista de servidores e suas respectivas portas se diferentes da padrão 22 são listadas e todos estes servidores serão conectados ao mesmo tempo pelo clusterssh.

Após executado, um terminal será aberto para cada servidor, no qual se pode dar comando específicos para aquela máquina, assim como será aberto uma janela específica diferenciada extra onde se pode dar comandos a todas as máquinas simultaneamente.

Por questões das senhas de login e por motivo de segurança, é provável e recomendado que cada servidor tenha uma senha diferente. Então, para facilidade de administração de múltiplos servidores é recomendado fazer login via chave de confiança para evitar que num primeiro momento seja necessário digitar a senha de cada servidor em suas respectiva janelas ao iniciar a conexão. Com a chave de confiança, todos os servidores logariam automaticamente já podendo ser apenas executados os comandos desejados diretamente em todos os servidores ao mesmo tempo.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!