4 eines útils per executar ordres en diversos servidors Linux


En aquest article, mostrarem com executar ordres en diversos servidors Linux alhora. Explicarem com utilitzar algunes de les eines àmpliament conegudes dissenyades per executar sèries repetitives d'ordres en diversos servidors simultàniament. Aquesta guia és útil per als administradors de sistemes que normalment han de comprovar l'estat de diversos servidors Linux cada dia.

Als efectes d'aquest article, suposem que ja teniu una configuració SSH per accedir a tots els vostres servidors i, en segon lloc, quan accediu a diversos servidors simultàniament, és apropiat configurar SSH sense contrasenya basat en clau a tots els vostres servidors Linux. Això, sobretot, millora la seguretat del servidor i també facilita l'accés.

1. PSSH – SSH paral·lel

parallel-scp, parallel-rsync, parallel-slurp i parallel-nuke (llegiu la pàgina de manual d'una eina concreta per obtenir més informació).

Per instal·lar parallel-ssh, primer heu d'instal·lar PIP al vostre sistema Linux.

$ sudo apt install python-pip python-setuptools 	#Debian/Ubuntu 
# yum install python-pip python-setuptools	        #RHEL/CentOS 
# dnf install python-pip python-setuptools	        #Fedora 22+

A continuació, instal·leu parallel-ssh utilitzant pip de la següent manera.

$ sudo pip install parallel-ssh

A continuació, introduïu els noms d'amfitrió o les adreces IP del servidor Linux remot amb port SSH en un fitxer anomenat hosts (podeu anomenar-lo com vulgueu):

$ vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Deseu el fitxer i tanqueu-lo.

Ara executeu parallel-ssh, especifiqueu el fitxer hosts utilitzant l'opció -h i una o dues ordres que s'executaran a tots els servidors especificats. El senyalador -i significa mostrar la sortida std i l'error std a mesura que s'acaba l'execució de l'ordre a cada servidor.

$ parallel-ssh -h hosts "uptime; df -h"

També hauríeu de consultar: Com executar diverses ordres en diversos servidors Linux

2. Pdsh – Utilitat de Shell Remote Paral·lel

Pdsh és una eina de shell remota paral·lel senzilla i de codi obert per executar ordres en diversos servidors Linux alhora. Utilitza una finestra lliscant de fils per executar ordres remotes.

Per instal·lar Pdsh a les vostres màquines Linux, executeu l'ordre corresponent a continuació.

$ sudo apt install pdsh 	#Debian/Ubuntu 
# yum install pdsh	        #RHEL/CentOS 
# dnf install pdsh              #Fedora 22+

Per executar ordres en diversos servidors, afegiu els servidors a un fitxer hosts tal com s'ha explicat abans. A continuació, executeu pdsh com es mostra; el senyalador -w s'utilitza per especificar el fitxer hosts, i -R s'utilitza per especificar el mòdul d'ordres remotes (els mòduls d'ordres remots disponibles inclouen ssh, rsh, exec, el per defecte és rsh).

Preneu nota del ^ abans del fitxer hosts.

$ pdsh -w ^hosts -R ssh "uptime; df -h"

En cas que no especifiqueu una ordre remota que s'executarà a la línia d'ordres tal com es mostra a dalt, pdsh s'executa de manera interactiva, us demanarà ordres i les executarà quan finalitzeu amb un retorn de carro. Per obtenir més informació, consulteu la pàgina man de pdsh:

$ man pdsh 

3. ClústerSSH

ClusterSSH és una eina de línia d'ordres per administrar clústers de diversos servidors alhora. Llança una consola d'administració i un xterm a tots els servidors especificats que us permeten executar la mateixa ordre en tots ells.

Per utilitzar clusterssh, comenceu instal·lant-lo al vostre ordinador Linux local tal com es mostra.

$ sudo apt install clusterssh    #Debian/Ubuntu 
# yum install clusterssh         #RHEL/CentOS 
$ sudo dnf install clusterssh    #Fedora 22+

Ara que el teniu instal·lat, obriu una consola d'administració i un xterm als servidors remots alhora, de la manera següent. Per executar una ordre a tots els servidors, feu clic a la barra d'entrada de xterm i escriviu la vostra ordre; per gestionar un únic host, utilitzeu la seva consola d'administració.

$ clusterssh linode cserver contabo
OR
$ clusterssh [email  [email  [email  

Per obtenir més informació, consulteu la pàgina man de clusterssh:

$ man clusterssh

4. Ansible

Ansible és una eina de codi obert i popular per automatitzar processos informàtics. S'utilitza per configurar i gestionar sistemes, desplegar aplicacions i molt més.

Per instal·lar Ansible en sistemes Linux, executeu l'ordre corresponent a continuació:

$ sudo apt install ansible       #Debian/Ubuntu 
# yum install ansible            #RHEL/CentOS 
$ sudo dnf install ansible       #Fedora 22+

Un cop hàgiu instal·lat ansible, podeu afegir els noms d'amfitrió o les adreces IP del vostre servidor al fitxer /etc/anasible/hosts.

$ sudo vim /etc/anasible/hosts

Especifiqueu-los en grups, per exemple, servidors web.

# Ex 2: A collection of hosts belonging to the 'webservers' group
[webservers]
139.10.100.147
139.20.40.90
192.30.152.186

Deseu el fitxer i tanqueu-lo.

Ara, per comprovar el temps de funcionament i els usuaris connectats a tots els servidors especificats al servidor web del grup, al fitxer de configuració d'amfitrions anterior, només cal que executeu l'eina de línia d'ordres ansible de la següent manera.

Les opcions -a s'utilitzen per especificar els arguments a passar al mòdul i el senyalador -u especifica el nom d'usuari per defecte per connectar-se als servidors remots mitjançant SSH.

Tingueu en compte que l'eina CLI ansible només us permet executar com a màxim només una ordre.

$ ansible webservers -a "w " -u admin

Això és tot! En aquest article, hem explicat com executar ordres en diversos servidors Linux remots al mateix temps utilitzant eines àmpliament utilitzades. Si coneixeu alguna eina per al mateix propòsit, que no hem inclòs en aquest article, feu-nos-ho saber mitjançant el formulari de comentaris a continuació.