2017-07-20 1 views
0

Ich möchte ein Linux-Shell-Skript schreiben, die das Programm client.sh ausführen würde, um eine JBoss Fuse Shell zu öffnen und dann wiederum die Befehle wie "container-stop" ausführen JBoss Fuse-Shell und schließlich aus der JBoss Fuse-Shell. Was ist der beste Weg, dies zu erreichen?Linux Shell-Skript zum Ausführen von Befehlen in JBoss Fuse-Shell

Grüße.

+0

Mögliche Duplikate von [Was ist der sauberste Weg zu ssh und Ausführen mehrerer Befehle in Bash?] (Https://stackoverflow.com/questions/4412238/what-is-the-cleanest-way-to-ssh-and -run-multiple-commands-in-bash) –

+1

Diese Frage ähnelt einem Duplikat, weil 'client.sh' im Grunde eine SSH-Verbindung zur laufenden Instanz einrichtet. Verwenden Sie einfach nur SSH-Client von Shell und senden Sie den Befehl, den Sie mögen. –

Antwort

0

Der Befehl, den Sie ausführen müssen, ist die folgende:

./client -r 3 -d 2 -u admin -p admin 'container-stop my-container' 

dieses Beispiel authentifizieren und wird der gewünschte Befehl einen einzigen Schritt auszuführen. Die Parameter -u und -p sind für Benutzername und Passwort. Es gibt einige optionale Parameter wie -r für Wiederholungen im Fehlerfall und -d für die Verzögerung. Sie können sie weglassen.

Wenn Sie nur wenige Befehle ausführen müssen, wie das Neustarten einer einzelnen Fabric-Umgebung, dann ist wahrscheinlich OK, um sie als Bash-Skript zu schreiben.

Aber Wenn Sie flexibel sein müssen, zentralisiert, in der Lage sein, auf vielen Umgebungen gleichzeitig zu laufen, Universal, Portable, usw., dann ist meine Meinung, dass Sie besser ein Automatisierungssystem verwenden. Es wird sich später auszahlen. In diesem Fall kann ich Ihnen empfehlen, sich Ansible anzusehen, weil es leicht ist und es einfach ist, das Skript dafür zu schreiben. Dies ist eine Anwendung, die Sie auf einem einzelnen Computer installieren. Von dort aus können Sie per SSH auf entfernte Maschinen zugreifen und bestimmte Aufgaben ausführen. Diese Anweisungen müssen Sie in einem einfachen Ansible-Skript namens playbook bereitstellen. Sie können auch mehrere Zielhosts haben, und Sie können so viele Aufgaben gleichzeitig ausführen, wie Sie möchten.

Verwandte Themen