Como executar vários comandos em vários servidores Linux

Como executar vários comandos em vários servidores Linux

Se você está gerenciando vários servidores Linux e deseja executar vários comandos em todos os servidores Linux, mas você não tem idéia de como fazê -lo. Não há necessidade de se preocupar, neste guia simples de gerenciamento de servidores, mostraremos como executar vários comandos em vários servidores Linux simultaneamente.

Para alcançar, você pode usar o programa PSSH (paralelo SSH), um utilitário de linha de comando para executar o SSH em paralelo em vários hosts. Com ele, você pode enviar entrada para todos os processos SSH, de um script de shell.

Requisitos

  1. Instale o PSSH para executar comandos em vários servidores Remote Linux
  2. Você deve estar usando a autenticação sem senha SSH para todos os servidores remotos.

Crie um script de shell

Portanto, você precisa começar preparando um script que contém os comandos Linux que deseja executar nos diferentes servidores. Neste exemplo, escreveremos um script que coletará as seguintes informações de vários servidores:

  • Verifique o tempo de atividade dos servidores
  • Verifique quem está conectado e o que eles estão fazendo
  • Liste os 5 principais processos de execução de acordo com o uso da memória.

Primeiro crie um script chamado comandos.sh Com seu editor favorito.

# vi comandos.sh 

Em seguida, adicione os seguintes comandos ao script, como mostrado.

#!/Bin/Bash ################################################## ################################## #Script Nome: Comandos.SH #Description: Execute vários comandos em vários servidores #author: Aaron Kili Kisinga #EMAIL: [Email protegido] #############################d ########Omas ### echo # Show System Uptime Uptime Echo # Mostre quem está conectado e o que eles estão fazendo, que ecoam # mostram o 5 Top 5 Process pelo Uso Ram PS -EO CMD, PID, PPID,%MEM,%CPU -Sorte = - %mem | Cabeça -n 6 saída 0 

Salve o arquivo e feche-o. Em seguida, faça o script executável como mostrado.

# comandos chmod +x.sh 

Crie arquivo hosts do PSSH

Em seguida, adicione a lista de servidores em que você deseja executar os comandos, em um anfitriões.TXT arquivo, no formato [[Email Protected]] Host [: Port] ou simplesmente dar aos endereços IP do servidor.

Mas sugerimos que você use aliases ssh que podem ser especificados em .ssh/config arquivo, conforme explicado em como configurar conexões SSH personalizadas para simplificar o acesso remoto.

Este método é mais eficiente e confiável, permite especificar opções de configuração (como nome do host, identificar arquivo, porta, nome de usuário etc.) para cada servidor remoto.

A seguir, é apresentado o nosso arquivo hosts ssh aliases um arquivo a.k.um arquivo de configuração SSH específico do usuário.

# vi ~///.ssh/config 
Arquivo de aliases de hosts ssh

Em seguida, crie um anfitriões.TXT arquivo, aqui você pode simplesmente especificar os aliases (nomes definidos usando a palavra -chave host em .Arquivo SSH/Config) como mostrado.

# vi hosts.TXT 

Adicione os aliases do servidor.

Server1 Server2 Server3 

Execute comandos por meio de um script em vários servidores Linux

Agora execute o seguinte PSSH comando especificando anfitriões.TXT Arquivo junto com o script que contém vários comandos para executar em vários servidores remotos.

# PSSH -H Hosts.txt -p -i<./commands.sh 

Significado das bandeiras usadas no comando acima:

  • -h - lê o arquivo hosts.
  • -P - diz ao PSSH para exibir a saída à medida que chega.
  • -EU - lê a entrada e envia para cada processo SSH.
Execute vários comandos em servidores remotos

É isso! Neste artigo, mostramos como executar vários comandos em vários servidores no Linux. Você pode compartilhar qualquer pensamento relacionado a este tópico através da seção de comentários abaixo.