4 Nützliche Tools zum Ausführen von Befehlen auf mehreren Linux-Servern

In diesem Artikel wird gezeigt, wie Befehle auf mehreren Linux-Servern gleichzeitig ausgeführt werden. Wir werden erklären, wie einige der weithin bekannten Tools verwendet werden, um sich wiederholende Befehlsreihen auf mehreren Servern gleichzeitig auszuführen. Dieses Handbuch ist nützlich für Systemadministratoren, die normalerweise täglich den Zustand mehrerer Linux-Server überprüfen müssen.

Für den Zweck dieses Artikels wird davon ausgegangen, dass Sie bereits über ein SSH-Setup für den Zugriff auf alle Ihre Server verfügen. Zweitens ist es beim gleichzeitigen Zugriff auf mehrere Server angebracht, auf allen Linux-Servern schlüsselbasiertes SSH ohne Kennwort einzurichten. Dies erhöht vor allem die Serversicherheit und ermöglicht einen einfachen Zugriff.

Lesen Sie auch: So konfigurieren Sie benutzerdefinierte SSH-Verbindungen zur Vereinfachung des Remotezugriffs

1. PSSH – Parallele SSH

Parallel-SSH ist ein Open Source, schnelles und benutzerfreundliches befehlszeilenbasiertes Python-Toolkit zur parallelen Ausführung von ssh auf einer Reihe von Linux-Systemen. Es enthält eine Reihe von Werkzeugen für verschiedene Zwecke wie z parallel-ssh, parallel-scp, parallel-rsync, Parallelschlürfen und Parallel-Nuke (Weitere Informationen finden Sie in der Manpage eines bestimmten Tools.)

Installieren parallel-sshmüssen Sie zuerst installieren PIP auf Ihrem Linux-System.

$ 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+


Dann installieren parallel-ssh mit Pip wie folgt.

$ sudo pip install parallel-ssh

Geben Sie als Nächstes die Hostnamen oder IP-Adressen des Remote-Linux-Servers mit SSH-Port in eine aufgerufene Datei ein Gastgeber (Sie können es beliebig benennen):

$ vim hosts
pssh hostet Datei
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Speichern Sie die Datei und schließen Sie sie.

Jetzt renn parallel-sshGeben Sie die Hosts-Datei mit der an -h Option und einen oder mehrere Befehle, die auf allen angegebenen Servern ausgeführt werden. Das -i Flagge bedeutet Anzeige Standardausgabe und Standardfehler Wenn die Ausführung des Befehls auf jedem Server abgeschlossen ist.

$ parallel-ssh -h hosts "uptime; df -h"
Pssh-Ausführungsbefehle auf mehreren Linux-Servern
Pssh-Ausführungsbefehle auf mehreren Linux-Servern

Sie sollten auch Folgendes überprüfen: Ausführen mehrerer Befehle auf mehreren Linux-Servern

2. Pdsh – Parallel Remote Shell Utility

dpa ist ein einfaches Open Source-Tool für die parallele Remote-Shell, mit dem Befehle auf mehreren Linux-Servern gleichzeitig ausgeführt werden können. Es verwendet ein Schiebefenster von Threads, um Remote-Befehle auszuführen.

Installieren dpa Führen Sie auf Ihren Linux-Computern den folgenden Befehl aus.

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

Um Befehle auf mehreren Servern auszuführen, fügen Sie die Server wie zuvor erläutert zu einer Hosts-Datei hinzu. Dann renne dpa wie gezeigt; die Flagge -w wird verwendet, um die Hosts-Datei anzugeben, und -R wird verwendet, um das Remote-Befehlsmodul anzugeben (verfügbare Remote-Befehlsmodule umfassen ssh, rsh, exec, der Standardwert ist rsh).

Beachten Sie die ^ vor der Hosts-Datei.

$ pdsh -w ^hosts -R ssh "uptime; df -h"
pdsh - Befehle auf mehreren Linux-Servern ausführen
pdsh – Befehle auf mehreren Linux-Servern ausführen

Falls Sie keinen Remote-Befehl angeben, der wie oben gezeigt in der Befehlszeile ausgeführt werden soll, dpa wird interaktiv ausgeführt, fordert Sie zur Eingabe von Befehlen auf und führt sie aus, wenn sie mit einem Wagenrücklauf beendet werden. Weitere Informationen finden Sie auf der pdsh-Manpage:

$ man pdsh 

3. ClusterSSH

ClusterSSH ist ein Befehlszeilentool zum gleichzeitigen Verwalten von Clustern mehrerer Server. Es startet eine Administrationskonsole und eine xterm an alle angegebenen Server, sodass Sie auf allen denselben Befehl ausführen können.

Benutzen clustersshInstallieren Sie es zunächst wie gezeigt auf Ihrem lokalen Linux-Computer.

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

Nachdem Sie es installiert haben, öffnen Sie eine Administrationskonsole und eine xterm auf Remote-Servern sofort wie folgt. Um einen Befehl auf allen Servern auszuführen, klicken Sie in die xterm-Eingabeleiste und geben Sie Ihren Befehl ein. Verwenden Sie zum Verwalten eines einzelnen Hosts dessen Administratorkonsole.

$ clusterssh linode cserver contabo
OR
$ clusterssh [email protected] [email protected] [email protected] 
Clusterssh - Verwalten Sie mehrere SSH-Sitzungen
Clusterssh – Verwalten Sie mehrere SSH-Sitzungen

Weitere Informationen finden Sie in der Manpage clusterssh:

$ man clusterssh

4. Ansible

Ansible ist ein Open Source und beliebtes Tool zur Automatisierung von IT-Prozessen. Es wird zum Konfigurieren und Verwalten von Systemen, zum Bereitstellen von Anwendungen und vielem mehr verwendet.

Installieren Ansible Führen Sie auf Linux-Systemen den folgenden Befehl aus:

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

Sobald Sie installiert haben ansiblekönnen Sie die Hostnamen oder IP-Adressen Ihres Servers zur Datei hinzufügen / etc / anasible / hosts.

$ sudo vim /etc/anasible/hosts

Geben Sie sie in Gruppen an, z Webserver.

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

Speichern Sie die Datei und schließen Sie sie.

Nun überprüfen Sie die Betriebszeit und Benutzer, die mit allen in der Gruppe angegebenen Servern verbunden sind WebserverFühren Sie in der obigen Hosts-Konfigurationsdatei einfach das ansible-Befehlszeilentool wie folgt aus.

Das -a Mit options werden die Argumente angegeben, die an das Modul und übergeben werden sollen -u Flag gibt den Standard an Nutzername um über SSH eine Verbindung zu den Remote-Servern herzustellen.

Beachten Sie, dass Sie mit dem ansible CLI-Tool höchstens einen Befehl ausführen können.

$ ansible webservers -a "w " -u admin
Ansible - Befehl auf mehreren Linux-Servern ausführen
Ansible – Befehl auf mehreren Linux-Servern ausführen

Das ist alles! In diesem Artikel haben wir erklärt, wie Befehle mit weit verbreiteten Tools gleichzeitig auf mehreren Remote-Linux-Servern ausgeführt werden. Wenn Sie Tools für denselben Zweck kennen, die wir in diesem Artikel nicht aufgeführt haben, teilen Sie uns dies über das Kommentarformular unten mit.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *