Verwenden von DSH (Distributed Shell), um Linux -Befehle über mehrere Maschinen hinweg auszuführen

Verwenden von DSH (Distributed Shell), um Linux -Befehle über mehrere Maschinen hinweg auszuführen

Systemadministratoren Wissen Sie nur, wie wichtig es ist, in kurzer Zeit zahlreiche Maschinen zu überwachen und zu verabreichen, und vorzugsweise so wenig wie möglich herumläuft. Unabhängig davon.

DSH Run -Befehle über mehrere Server hinweg

Um dies teilweise zu erreichen, werde ich Ihnen zeigen, wie Sie ein raffiniertes kleines Tool namens verwenden können DSH Dadurch kann ein Benutzer Befehle über mehrere Maschinen ausführen.

Lesen Sie auch: PSSH - Führen Sie Befehle auf mehreren Remote -Linux -Servern aus

Was ist DSH?

DSH Kurzform für "Verteilte Hülle" oder "Tänzerschale”Es ist bei den meisten wichtigen Verteilungen von frei erhältlich Linux, kann aber leicht aus der Quelle erstellt werden, wenn Ihre Verteilung sie in seinem Paket -Repository nicht anbietet. Sie können die Quelle bei erhalten.

  1. http: // www.Netzfort.GR.JP/~ Dancer/Software/DSH.html.en

Installieren Sie DSH (Distributed Shell) unter Linux

Wir werden a annehmen Debian / Ubuntu Umgebung für den Umfang dieses Tutorials. Wenn Sie eine andere Verteilung verwenden, ersetzen Sie bitte die entsprechenden Befehle für Ihren Paketmanager.

Auf Debian / Ubuntu

Lassen Sie uns zunächst das Paket über installieren geeignet:

$ sudo apt-Get Installieren Sie DSH
Auf rhel / centos / fedora

Diese Methode gilt für diejenigen, die nicht verwenden Debian, und wollen es aus Quell -Teerbällen kompilieren. Zuerst müssen Sie kompilieren “libdshconfig”Und installieren.

# WGet http: // www.Netzfort.GR.JP/~ Dancer/Software/Downloads/libdshconfig-0.20.10.Lebenslauf.1.Teer.gz # tar xfz libdshconfig*.Teer.gz # cd libdshconfig-* # ./konfigurieren; # mach installieren

Dann kompilieren DSH und installieren.

# WGet http: // www.Netzfort.GR.JP/~ Dancer/Software/Downloads/DSH-0.22.0.Teer.GZ # TAR XFZ DSH-0.22.0.Teer.GZ # CD DSH-* # ./konfigurieren; # mach installieren

Die Hauptkonfigurationsdatei “/etc/dsh/dsh.conf ” (Für Debian) Und "/usr/local/etc/dsh.Conf" (für Roter Hut) ist ziemlich unkompliziert, aber seitdem rsh ist ein unverschlüsseltes Protokoll, wir werden verwenden Ssh Als Fernschale. Finden Sie diese Zeile mit dem Texteditor Ihrer Wahl:

remoteshell = rsh

Und ändern Sie es in:

remoteshell = ssh

Es gibt noch andere Optionen, die Sie hier weitergeben können, wenn Sie sich dafür entscheiden, und es gibt viele von ihnen, die Sie auf dem finden können DSH MAN SEITE. Im Moment werden wir die Standardeinstellungen akzeptieren und uns die nächste Datei ansehen, /etc/dsh/Maschinen.Liste (für Debian).

Für roter Hut Basierte Systeme, die Sie eine Datei namens erstellen müssen “Maschinen.Liste" In "/usr/local/etc/" Verzeichnis.

Die Syntax hier ist ziemlich einfach. Alles, was man tun muss, ist, die Anmeldeinformationen einer Maschine (Hostname, IP Adresse, oder Fqdn) eine pro Zeile.

Notiz: Wenn Sie gleichzeitig auf mehr als eine Maschine zugreifen. Dies bietet nicht nur einen einfachen Zugang, sondern auch in Bezug auf die Sicherheit, es härtet auch Ihre Maschine aus.

Mein "/etc/dsh/Maschinen.Liste" oder "/usr/lokal/etc/maschinen.Liste"Datei sagt:

172.16.25.125 172.16.25.126

Sobald Sie in die Anmeldeinformationen der Maschinen eingegeben haben, auf die Sie zugreifen möchten, lassen Sie uns einen einfachen Befehl wie wie “ausführenBetriebszeit'An alle Maschinen.

$ DSH -AM -C -Verfügbarkeit
Probenausgabe
172.16.25.125: 05:11:58 bis 40 Tage, 51 min, 0 Benutzer, Lastdurchschnitt: 0.00, 0.01, 0.05 172.16.25.126: 05:11:47 bis 13 Tage, 38 min, 0 Benutzer, Lastdurchschnitt: 0.00, 0.01, 0.05

Also, was hat dieser Befehl getan??

Ziemlich einfach. Zuerst rannten wir DSH und passierte die “-A"Option dafür, die besagt, dass sie die" senden soll "Betriebszeit"Befehl zu"ALLE"Von den in" aufgeführten Maschinen "/etc/dsh/Maschinen.Liste“.

Als nächstes haben wir das angegeben-M"Option, die besagt, dass sie die" zurückgeben soll "Maschinenname" (spezifiziert in "/etc/dsh/Maschinen.Liste„) Zusammen mit der Ausgabe des Verfügungsbefehls zur Verfügung. (Sehr nützlich zum Sortieren beim Ausführen eines Befehls auf einer Reihe von Maschinen.)

Der "-C”Option steht für“Befehl, die ausgeführt werden soll" in diesem Fall, "Betriebszeit“.

DSH kann auch mit Gruppen von Maschinen in der “konfiguriert werden/etc/dsh/gruppen/Datei, wo ist eine Datei mit einer Liste von Maschinen im selben Format wie die “/etc/dsh/Maschinen.Liste" Datei. Beim Laufen DSH Geben Sie in einer Gruppe die an Gruppenname nach dem "-G" Möglichkeit.

Für roter Hut Basierte Systeme Sie müssen einen Ordner namens erstellen “Gruppen" In "/usr/local/etc/" Verzeichnis. In dem "Gruppen"Verzeichnis Sie erstellen eine Datei namens"Cluster“.

Zum Beispiel die “ausführen“wBefehl ”Auf allen in der aufgeführten Maschinen“Cluster"Gruppendatei"/etc/dsh/gruppy/cluster" oder "/usr/local/etc/gruppy/cluster“.

$ dsh -m -g cluster -c w

DSH bietet viel mehr Flexibilität, und dieses Tutorial kratzt nur die Oberfläche. Abgesehen von der Ausführung von Befehlen, DSH Kann verwendet werden, um Dateien zu übertragen, Software zu installieren, Routen hinzuzufügen und vieles mehr.

Zu einem Systemadministrator Aufgrund der Verantwortung eines großen Netzwerks ist es von unschätzbarem Wert.