| Home Profil Fun |
#57 Linux 05.04.2009
Parallele Ausführung von Shell-Kommandos auf mehreren Servern mit dshDSH ist eine Abkürzung für distributed (oder dancers') shell. Damit kann man sehr einfach Kommandos auf beliebig vielen Servern gleichzeitig ausführen. Es ist nicht notwendig sich auf jeden Server extra einzuloggen. Das einzige was auf den Zielservern benötigt wird ist ein laufender SSH-Dienst. Nach der Installation des DSH-Paketes sollte man den Parameter remoteshell in /etc/dsh/dsh.conf von rsh auf ssh ändern: remoteshell=ssh Man kann mehrere Gruppen von Servern erstellen. Für jede Gruppe erstellt man in /etc/dsh/group/ eine Datei. Die Gruppendateien werden von unten nach oben abgearbeitet. Kommentare sind leider nicht möglich. Einträge in diese Dateien erfolgen nach dem Schema loginuser@server: admin@server1.com user1@server2.net Um nun Kommandos auf all den Servern, die einer bestimmten Gruppe angehören auszuführen verwendet man das dsh-Kommando. Anwendungsbeispiel: Herausfinden welche SSH-Protokollversion auf allen Servern der Gruppe servergroup1 konfiguriert ist. dsh -w -g servergroup1 grep "Protocol" /etc/ssh/sshd_config Im Output sieht man jeweils den Server mit dem zugehörigen Output.: admin@server1.com: Protocol 2 user1@server2.net: #Protocol 2 Der Parameter -w zwingt dsh dazu die Server nacheinander statt parallel abzuarbeiten. (Für die parallele Abarbeitung nimmt man -c statt -w.) Mit -g wählt man die gewünschte Servergruppe. Der letzte Teil ist das eigentliche Kommando, was auf den Servern ausgeführt werden soll. |