4 ferramentas úteis para executar comandos em vários servidores Linux

4 ferramentas úteis para executar comandos em vários servidores Linux

Neste artigo, mostraremos como executar comandos em vários servidores Linux ao mesmo tempo. Explicaremos como usar algumas das ferramentas amplamente conhecidas projetadas para executar séries repetitivas de comandos em vários servidores simultaneamente. Este guia é útil para administradores de sistema que geralmente precisam verificar a saúde de vários servidores Linux todos os dias.

Para os fins deste artigo, assumimos que você já possui configuração SSH para acessar todos os seus servidores e, em segundo lugar, ao acessar vários servidores simultaneamente, é apropriado configurar SSH sem senha baseado em teclas em todos os seus servidores Linux. Acima de tudo, isso aprimora a segurança do servidor e também permite a facilidade de acesso.

Leia também: Como configurar conexões SSH personalizadas para simplificar o acesso remoto

1. PSSH - SSH paralelo

O Parallel-SSH é um código de ferramentas de código aberto, de código aberto, rápido e fácil de usar, baseado em linha de comando para executar o SSH em paralelo em vários sistemas Linux. Ele contém uma série de ferramentas para vários propósitos, como paralelo-ssh, Parallel-scp, paralelo-rsync, Slurp paralelo e Parallel-Nuke (Leia a página do homem de uma ferramenta específica para obter mais informações).

Para instalar paralelo-ssh, você precisa primeiro instalar Pip em seu sistema Linux.

$ sudo apt install python-pip python-setuptuptools #debian/ubuntu #yum instalar python-pip python-setuptools #rhel/centros #dnf instalar python-pip python-setuptools #fedora 22+ 

Em seguida, instale paralelo-ssh usando pip do seguinte modo.

$ sudo pip install paralles-ssh 

Em seguida, insira os nomes de host ou endereços IP do servidor Linux remoto com porta SSH em um arquivo chamado anfitriões (Você pode nomear o que quiser):

$ vim hosts 
Arquivo de hosts do PSSH
192.168.0.10:22 192.168.0.11:22 192.168.0.12:22 

Salve o arquivo e feche-o.

Agora execute paralelo-ssh, Especifique o arquivo hosts usando o -h opção e um (s) comando (s) que será executado em todos os servidores especificados. O -eu Sinalizador significa exibição saída de std e Erro de DST À medida que a execução do comando em cada servidor conclui.

$ parallel -ssh -h hospeda "uptime; df -h" 
Comandos de execução PSSH em vários servidores Linux

Você também deve conferir: como executar vários comandos em vários servidores Linux

2. PDSH - Utilitário de concha remota paralela

Pdsh é uma ferramenta de shell remota simples de código aberto, para executar comandos em vários servidores Linux ao mesmo tempo. Emprega uma janela deslizante de threads para executar comandos remotos.

Para instalar Pdsh Em suas máquinas Linux, execute o comando apropriado abaixo.

$ sudo apt install pdsh #debian/ubuntu #yum install pdsh #rhel/centros #dnf install pdsh #fedora 22+ 

Para executar comandos em vários servidores, adicione os servidores a um arquivo hosts, conforme explicado antes. Então corra pdsh como mostrado; a bandeira -c é usado para especificar o arquivo hosts e -R é usado para especificar o módulo de comando remoto (os módulos de comando remotos disponíveis incluem ssh, rsh, execu, o padrão é rsh).

Tome nota do ^ Antes do arquivo hosts.

$ pdsh -w ^hospedeiros -r ssh "uptime; df -h" 
PDSH - Executar comandos em vários servidores Linux

Caso você não especifique um comando remoto a ser executado na linha de comando, como mostrado acima, pdsh corre interativamente, solicitando comandos e executando -os quando encerrado com um retorno de carruagem. Para mais informações, consulte a página do PDSH Man:

$ MAN PDSH 

3. Clusterssh

Clusterssh é uma ferramenta de linha de comando para administrar clusters de vários servidores ao mesmo tempo. Ele lança um console administrativo e um Xterm Para todos os servidores especificados, permitindo que você execute o mesmo comando em todos eles.

Usar Clusterssh, Comece instalando -o no seu computador Linux local, como mostrado.

$ sudo apt clusterssh #debian/ubuntu #yum install clusterssh #rhel/centros $ sudo dnf clusterssh #fedora 22+ 

Agora que você o instalou, abra um console administrativo e um Xterm em servidores remotos de uma só vez, como segue. Para executar um comando em todos os servidores, clique na barra de entrada Xterm e digite seu comando; Para gerenciar um único host, use seu console administrativo.

$ clusterssh linode cserver contabo ou $ clusterssh [email protegido] [email protegido] [email protegido] 
CLUSTERSSH - Administrar várias sessões SSH

Para mais informações, consulte a página do clusterssh Man:

$ MAN CLUSTERSSHSH 

4. Ansible

Ansible é uma ferramenta de código aberto e popular para automatizar os processos de TI. É usado para configurar e gerenciar sistemas, implantando aplicativos e muito mais.

Para instalar Ansible Nos sistemas Linux, execute o comando apropriado abaixo:

$ sudo apt install ansible #debian/ubuntu #yum install #rhel/centos $ sudo dnf install #fedora 22+ 

Depois de instalar Ansible, Você pode adicionar nomes de host ou endereços IP do servidor no arquivo /etc/anasible/hosts.

$ sudo vim/etc/anasible/hosts 

Especifique -os em grupos, e.g servidores da web.

# Ex 2: uma coleção de hosts pertencentes ao 'Web Servers' Grupo [Web Servers] 139.10.100.147 139.20.40.90 192.30.152.186 

Salve o arquivo e feche-o.

Agora para verificar o tempo de atividade e usuários conectados a todos os servidores especificados no grupo servidor web, No arquivo de configuração de hosts acima, basta executar a ferramenta Ansible Command Line da seguinte maneira.

O -a Opções é usado para especificar os argumentos para passar para o módulo e -você sinalizador especifica o padrão nome de usuário Para conectar -se aos servidores remotos via SSH.

Observe que a ferramenta Ansible CLI apenas permite que você execute na maioria dos comando apenas um comando.

$ ANSIBLIBLE WebServers -A "W" -u Admin 
Comando Ansible - Executar em vários servidores Linux

Isso é tudo! Neste artigo, explicamos como executar comandos em vários servidores Linux remotos ao mesmo tempo usando ferramentas amplamente usadas. Se você conhece alguma ferramenta por aí para o mesmo objetivo, que não incluímos neste artigo, informe -nos através do formulário de comentário abaixo.