So führen Sie mehrere Befehle auf mehreren Linux -Servern aus

So führen Sie mehrere Befehle auf mehreren Linux -Servern aus

Wenn Sie mehrere Linux -Server verwalten und auf allen Linux -Servern mehrere Befehle ausführen möchten, haben Sie jedoch keine Ahnung, wie es geht. In diesem einfachen Serververwaltungshandbuch müssen Sie sich keine Sorgen machen, wie Sie mehrere Befehle auf mehreren Linux -Servern gleichzeitig ausführen können.

Um dies zu erreichen, können Sie das PSSH -Programm (Parallel SSH) verwenden, ein Befehlszeilen -Dienstprogramm zum parallelen SSH auf einer Reihe von Hosts. Damit können Sie Eingaben an alle SSH -Prozesse aus einem Shell -Skript senden.

Anforderungen

  1. Installieren Sie PSSH, um Befehle auf mehreren Remote -Linux -Servern auszuführen
  2. Sie müssen für alle Remote -Server SSH -Authentifizierung von SSH -Kennwortless verwenden.

Erstellen Sie ein Shell -Skript

Daher müssen Sie zunächst ein Skript vorbereiten, das die Linux -Befehle enthält, die Sie auf den verschiedenen Servern ausführen möchten. In diesem Beispiel schreiben wir ein Skript, das die folgenden Informationen von mehreren Servern sammelt:

  • Überprüfen Sie die Versorgung der Server
  • Überprüfen Sie, wer angemeldet ist und was sie tun
  • Listen Sie die Top 5 aus, die die Auslaufprozesse gemäß Speichernutzung ausführen.

Erstellen Sie zuerst ein Skript mit dem Namen Befehle.Sch Mit Ihrem Lieblingsredakteur.

# VI Befehle.Sch 

Fügen Sie als nächstes das Skript wie gezeigt die folgenden Befehle hinzu.

#!/bin/bash ##################################################################################################### zu erhalten ################################## #Script Name: Befehle.SH #Description: Führen Sie mehrere Befehle auf mehreren Servern aus. ####################################################################################################################### zu erhalten ### Echo # Show System Uptime Uptime Echo # Show Wer angemeldet ist und was sie tun, wer echo # top 5 processe nach RAM -Verwendung PS -EO CMD, PID, PPID,%mem,%cpu - -sort = - - - %mem | Kopf -n 6 Ausgang 0 

Speichern Sie die Datei und schließen Sie sie. Machen Sie dann das Skript wie gezeigt ausführbar.

# CHMOD +X -Befehle.Sch 

Erstellen Sie PSSH -Hosts -Datei

Fügen Sie als nächstes die Liste der Server hinzu, auf die Sie die Befehle in a ausführen möchten Gastgeber.txt Datei im Format [[E -Mail geschützt]] Host [: Port] oder geben Sie einfach den Server -IP -Adressen an.

Wir empfehlen jedoch, dass Sie SSH -Aliase verwenden, die in angegeben werden können .ssh/config Datei wie erläutert, wie benutzerdefinierte SSH -Verbindungen konfiguriert werden, um den Remote -Zugriff zu vereinfachen.

Diese Methode ist effizienter und zuverlässiger. Sie können Konfigurationsoptionen (z. B. Hostname, Identifizierung von Datei, Port, Benutzername usw.) für jeden Remote -Server angeben.

Im Folgenden finden Sie unsere Beispiel -SSH -Hosts -Aliases -Datei a.k.Eine benutzerspezifische SSH -Konfigurationsdatei.

# vi ~//.ssh/config 
SSH hostet Aliases -Datei

Als nächstes erstellen Sie eine Gastgeber.txt Datei, hier können Sie einfach die Aliase angeben (Namen mit dem Host -Schlüsselwort in definierten Namen in der Definition .SSH/Konfigurationsdatei) wie gezeigt.

# VI Hosts.txt 

Fügen Sie die Server -Aliase hinzu.

Server1 Server2 Server3 

Führen Sie Befehle über ein Skript auf mehreren Linux -Servern aus

Führen Sie nun Folgendes aus PSsh Befehl durch Angabe Gastgeber.txt Datei zusammen mit dem Skript, das mehrere Befehle enthält, die auf mehreren Remote -Servern ausgeführt werden können.

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

Bedeutung der Flaggen, die im obigen Befehl verwendet werden:

  • -H - liest die Hosts -Datei.
  • -P - fordert PSSH an, die Ausgabe anzuzeigen, wenn sie eintrifft.
  • -ICH - liest Eingaben und sendet an jeden SSH -Prozess.
Führen Sie mehrere Befehle auf Remote -Servern aus

Das ist es! In diesem Artikel haben wir gezeigt, wie mehrere Befehle auf mehreren Servern unter Linux ausgeführt werden können. Sie können alle Gedanken zu diesem Thema über den Kommentarbereich unten teilen.