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

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

In diesem Artikel werden wir zeigen, wie Sie Befehle auf mehreren Linux -Servern gleichzeitig ausführen. Wir werden erklären, wie einige der weithin bekannten Tools verwendet werden, um sich wiederholte Reihe von Befehlen auf mehreren Servern auszuführen. Dieser Leitfaden ist nützlich für Systemadministratoren, die normalerweise jeden Tag die Gesundheit mehrerer Linux -Server überprüfen müssen.

Für den Zweck dieses Artikels gehen wir davon aus, dass Sie bereits über SSH-Setup verfügen, um auf alle Ihre Server zuzugreifen, und zweitens, wenn Sie gleichzeitig auf mehrere Server zugreifen. Dies verbessert vor allem die Serversicherheit und ermöglicht auch einen einfachen Zugriff.

Lesen Sie auch: So konfigurieren Sie benutzerdefinierte SSH -Verbindungen, um den Remote -Zugriff zu vereinfachen

1. PSSH - Parallel SSH

Parallel-SSH ist ein Open Source, schnell und benutzerfreundlichem Befehlszeilenbasierter Python-Toolkit, um SSH parallel auf einer Reihe von Linux-Systemen auszuführen. Es enthält eine Reihe von Werkzeugen für verschiedene Zwecke wie z Parallel-ssh, Parallel-SCP, Parallel-rsync, Parallel-Slurp Und Parallel-Nuke (Lesen Sie die Mannseite eines bestimmten Tools, um weitere Informationen zu erhalten.).

Installieren Parallel-ssh, Sie müssen zuerst installieren PIP Auf Ihrem Linux -System.

$ sudo apt installieren python-pip python-setuptools #debian/ubuntu #yum Installieren Sie Python-Pip Python-Setuptools #rhel/centos #DNF Installieren Sie Python-Pip Python-Setuptools #Fedora 22+ 

Dann installieren Parallel-ssh Verwendung Pip folgendermaßen.

$ sudo pip installieren parallel ssh 

Geben Sie als Nächst Gastgeber (Sie können es alles nennen, was Sie wollen):

$ vim hosts 
PSSH Hosts -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 rennen Parallel-ssh, Geben Sie die Hosts -Datei mit dem an -H Option und ein Befehl (n), der auf allen angegebenen Servern ausgeführt wird. Der -ich Flagge bedeutet Anzeige STD -Ausgang Und Standardfehler Als Ausführung des Befehls auf jedem Server wird abgeschlossen.

$ parallel -ssh -h Hosts "Uptime; df -h" 
PSSH Run -Befehle auf mehreren Linux -Servern ausführen

Sie sollten auch überprüfen: So führen Sie mehrere Befehle auf mehreren Linux -Servern aus

2. PDSH - Parallel Remote Shell -Dienstprogramm

PDSH ist eine Open Source, ein einfaches paralleles Remote -Shell -Tool zum Ausführen von Befehlen auf mehreren Linux -Servern gleichzeitig. Es verwendet ein Schiebefenster mit Threads, um Remote -Befehle auszuführen.

Installieren PDSH Führen Sie auf Ihren Linux -Maschinen den entsprechenden Befehl unten aus.

$ sudo apt Installieren Sie PDSH #Debian/Ubuntu #yum Installieren Sie PDSH #rhel/Centos #DNF Installieren Sie PDSH #FEDORA 22+ 

Um Befehle auf mehreren Servern auszuführen, fügen Sie die Server zu einer Hosts -Datei hinzu, wie zuvor erläutert. Dann renne PDSH 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, die Standardeinstellung ist RSH).

Beachten ^ Vor der Hosts -Datei.

$ PDSH -W ^Hosts -r ssh "Verfügungszeit; df -h" 
PDSH - Befehle auf mehreren Linux -Servern ausführen

Falls Sie keinen Remote -Befehl angeben, der in der Befehlszeile ausgeführt werden soll, wie oben gezeigt, PDSH Läuft interaktiv aus, fordert Sie für Befehle auf und läuft sie beim Beendet mit einer Wagenrendite. Weitere Informationen finden Sie auf der Seite PDSH MAN:

$ MAN PDSH 

3. Clustersh

Clustersh ist ein Befehlszeilenwerkzeug zum gleichzeitigen Verwalten von Clustern mehrerer Server. Es startet eine Verwaltungskonsole und eine Xterm Für alle angegebenen Server, mit denen Sie denselben Befehl für alle ausführen können.

Benutzen Clustersh, Installieren Sie es zunächst wie gezeigt auf Ihrem lokalen Linux -Computer.

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

Nachdem Sie es installiert haben, öffnen Sie eine Administratorkonsole und eine Xterm auf Remote -Servern gleichzeitig wie folgt. Um einen Befehl auf allen Servern auszuführen, klicken Sie in die Xterm -Eingangsleiste und geben Sie Ihren Befehl ein. Verwenden Sie die Verwaltung eines einzelnen Hosts seine Administratorkonsole.

$ clusterssh Linode cServer contabo oder $ clusterssh [E -Mail geschützt] [E -Mail geschützt] [E -Mail geschützt] 
Clustersh - Mehrere SSH -Sitzungen verabreichen

Weitere Informationen finden Sie auf der Seite Clustersh Man:

$ MAN CLUSTERSSH 

4. Ansible

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

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

$ sudo appt install ansible #debian/ubuntu #yum install Ansible #rhel/centos $ sudo dnf install Ansible #Fedora 22+ 

Sobald Sie installiert haben Ansible, Sie können die Hostnamen oder IP -Adressen Ihres Servers in der Datei hinzufügen /etc/anasible/hosts.

$ sudo vim/etc/anasible/hosts 

Geben Sie sie in Gruppen an, e.G Webserver.

# EX 2: Eine Sammlung von Gastgebern, die zur gehören "Webserver" Gruppe [Webserver] 139.10.100.147 139.20.40.90 192.30.152.186 

Speichern Sie die Datei und schließen Sie sie.

Nun, um die zu überprüfen Betriebszeit und Benutzer, die mit allen in der Gruppe angegebenen Server verbunden sind Webserver, Führen Sie in der obigen Hosts -Konfigurationsdatei einfach das Ansible -Befehlszeilen -Tool wie folgt aus.

Der -A Optionen werden verwendet, um die Argumente anzugeben, die an das Modul geleitet werden sollen und -u Flag gibt den Standard an Nutzername Um eine Verbindung zu den Remote -Servern über SSH herzustellen.

Beachten Sie, dass mit dem Ansible CLI -Tool Sie nur einen Befehl ausführen können.

$ ansible webserver -a "w" -U administrator 
Ansible - Befehl ausführen auf mehreren Linux -Servern ausführen

Das ist alles! In diesem Artikel haben wir erklärt, wie Sie Befehle auf mehreren Remote -Linux -Servern gleichzeitig mit weit verbreiteten Tools ausführen können. Wenn Sie für denselben Zweck Tools kennen, die wir nicht in diesen Artikel aufgenommen haben, teilen Sie uns über das folgende Kommentarformular mit.