GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Dasselbe Skript auf mehreren Servern über SSH ausführen?

Ich muss regelmäßig einige Ubuntu 12.04-Server (Precise Pangolin) (Rackspace) aktualisieren.

Was ich jetzt mache ist:

  • Kopieren Sie eine Datei mit SCP auf einen Server
  • Melden Sie sich mit SSH beim Server an
  • Tomcat stoppen
  • Kopieren und verschieben Sie die hochgeladene Datei
  • Tomcat starten

Wiederholen Sie genau denselben Vorgang mit derselben Datei auf dem zweiten Server (jetzt 12 Server und die Zahl wächst).

Ist es möglich, ein Skript zu schreiben, das eine Liste von Servern durchläuft und das alles für mich erledigt?

Wie würde ich vorgehen?
Vorzugsweise würde die Lösung keine Installation von irgendetwas erfordern. Die Mehrheit im Unternehmen arbeitet auf MacBooks, aber Windows-VMs sind reichlich vorhanden.

Idealerweise können zu aktualisierende Server einfach hinzugefügt/entfernt werden, um die Liste der Server zu ändern. Jede Lösung, die mir die Zeit erspart, dasselbe +12 Mal zu tun, wird jedoch sehr geschätzt 🙂

Akzeptierte Antwort:

Dafür gibt es mehrere Lösungen – möchten Sie die Schritte manuell steuern und einfach gleichzeitig durchlaufen? Schauen Sie sich CSSH (wenn Sie von einem Linux-System kommen) oder SuperPutty (wenn Sie von einem Windows-System kommen) an. Wenn Sie einfach alles automatisieren möchten, sehen Sie sich Expect an.


Linux
  1. Lesen und schreiben Sie in dieselbe Datei unter Linux, ohne sie zu überschreiben?

  2. Verweisen Sie auf eine Datei im selben Verzeichnis wie ein Skript, das in $path gefunden wurde?

  3. Ssh – Passwörter an ein Skript übergeben?

  4. Ausgabe soll in Datei mit dem gleichen Namen wie die Eingabedatei gespeichert werden?

  5. X-Anwendungen können nicht über SSH unter Linux ausgeführt werden

Verwenden der SSH-Konfigurationsdatei

Verwalten Sie OnMetal Cloud-Server über die API

Ändern des Inhalts einer Datei durch Shell-Skript

Verzeichnisse rekursiv durchlaufen und einen Befehl für eine Datei im Verzeichnis ausführen

Was ist der schnellste Weg, um ein Skript auszuführen?

SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein