Wie kann ich das Ausführen von Befehlen aus der Ferne über SSH an mehrere Server gleichzeitig automatisieren?

Ich habe ein bisschen nach ähnlichen Fragen gesucht, aber abgesehen von der Ausführung eines Befehls oder einiger Befehle mit Elementen wie:

ssh user@host -t sudo su -

Was ist jedoch, wenn ich im Wesentlichen ein Skript auf 15 Servern gleichzeitig ausführen muss? Ist das in bash machbar? In einer perfekten Welt muss ich vermeiden, Anwendungen zu installieren, wenn dies überhaupt möglich ist. Um der Argumentation willen sagen wir einfach, dass ich auf 10 Hosts Folgendes tun muss:

Stellen Sie einen neuen Tomcat-Container bereitStellen Sie eine Anwendung im Container bereit und konfigurieren Sie sieKonfigurieren Sie einen Apache-HostLaden Sie Apache neu

Ich habe ein Skript, das all das erledigt, aber es setzt voraus, dass ich mich bei allen Servern anmelde, ein Skript aus einem Repository herunterlade und es dann ausführe. Wenn dies in bash nicht möglich ist, welche Alternativen schlagen Sie vor? Benötige ich einen größeren Hammer wie Perl (Python ist möglicherweise vorzuziehen, da ich dank yum / up2date garantieren kann, dass Python auf allen Boxen in einer RHEL-Umgebung läuft)? Wenn jemand auf nützliche Informationen hinweisen kann, wäre er sehr dankbar, besonders wenn es in bash machbar ist. Ich werde mich mit Perl oder Python begnügen, aber ich kenne diese einfach nicht so gut (daran arbeite ich). Vielen Dank!

Antworten auf die Frage(21)

Ihre Antwort auf die Frage