Wie kann man mit pssh mehrere Server mit unterschiedlichen Befehlen ausführen?

939
Andi

Ich muss das verteilte System mit mehreren Remote-Servern testen, daher verwende ich pssh im Masterserver, um andere zu steuern. Hier müssen zum Beispiel mehrere Server mit unterschiedlichen Befehlen ausgeführt werden

In Server 201 muss ausgeführt werden

java -jar test.jar 9001 **.**.**.** 9001 java -jar test.jar 9001 **.**.**.** 9002 

In Server 202 muss ausgeführt werden

java -jar test.jar 9001 **.**.**.** 9003 java -jar test.jar 9001 **.**.**.** 9004 

In Server 203 muss ausgeführt werden

java -jar test.jar 9001 **.**.**.** 9005 java -jar test.jar 9001 **.**.**.** 9006 

...

Alle Serverinformationen werden bereits in hosts.txt im Format " Benutzername @ Server" gespeichert. Wie benutzt man pssh auf dem Masterserver, um die Befehle auszuführen?

0

1 Antwort auf die Frage

1
ojs

pssh Wenn Sie genau denselben Befehl auf verschiedenen Servern ausführen, zeigt Ihr Beispiel, dass Sie verschiedene Befehle auf verschiedenen Servern ausführen möchten (der Anfang der Befehle ist identisch, aber die letzte Zahl ist unterschiedlich).

Sie können diese Befehle auf jedem ihrer Server in eine Skriptdatei einfügen. Stellen Sie sicher, dass die Skriptdatei auf jedem Server gleich heißt und dann verwendet wird pssh -i -h hosts.txt script.sh.

Als Beispiel auf Server 201 einfügen script.sh

#!/bin/sh java -jar test.jar 9001 **.**.**.** 9001 java -jar test.jar 9001 **.**.**.** 9002 

und auf dem Server 202 einfügen script.sh

#!/bin/sh java -jar test.jar 9001 **.**.**.** 9003 java -jar test.jar 9001 **.**.**.** 9004 

usw.

Fügen Sie dann script.shin den $ PATH des Benutzers ein, der den Befehl ausführt, oder geben Sie den vollständigen Pfad zum Skript an. Vergessen Sie nicht, das Skript auf den Servern ausführbar zu machen.

Ja, es funktioniert gut, vielen Dank für Ihre Hilfe. Andi vor 7 Jahren 0
Außerdem habe ich noch eine Frage, wenn ich alle Prozesse auf anderen Servern abschließen möchte, verwende ich pnuke, aber wenn pssh erneut ausgeführt wird, heißt es, dass der Port (9001-900x) immer noch verwendet wird Server bequem? Andi vor 7 Jahren 0
@Andi, bitte poste das als separate Frage. ojs vor 7 Jahren 0