Frage Linux - Den gleichen Befehl auf mehreren Rechnern gleichzeitig ausführen


Ich habe ungefähr ein Dutzend Linux-Boxen, auf denen ich gelegentlich dieselben Befehle ausführen muss. Gibt es einen einfacheren Weg (oder einen automatisierten Weg), dies zu tun, ohne sich an jedem Rechner anzumelden und den Befehl einzeln auszuführen? Es sind nicht immer die gleichen Befehle und es ist nicht zu einer voreingestellten Zeit, also ist es nicht ideal für Werkzeuge wie cron.


39
2018-05-01 15:46


Ursprung


ähnliche Frage serverfault.com/questions/17931/ ... - hayalci
Endlich die kanonische Liste :) - rogerdpack


Antworten:


Hm, vielleicht pconsole ist das Werkzeug, das Sie wollen.


12
2018-05-01 15:49



Wow, Pconsole sieht ziemlich cool aus! Ich habe es ohne Probleme installiert und es sieht soweit toll aus. Vielen Dank! - Chris Bunch
Es ist eines meiner Lieblingswerkzeuge. :) - Node


Es gibt auch ClusterSSH, was genau das tut, was du denkst. Yay für beschreibende Benennung!


15
2018-05-01 16:29



404 auf SourceForge, scheint es jetzt zu sein hier auf GitHub. - Pablo Bianchi


Sie sollten sich Puppet hier ansehen ist ein linux.com Artikel auf seiner Einrichtung und Verwendung


8
2018-05-01 15:53



Hmm, Puppet sieht ziemlich interessant aus. Ich werde einen Blick darauf werfen, wenn Pconsole anfängt, mich zu versagen, da ich es bereits ausgeführt habe und es einfacher ist, Puppets Sprache zu lernen. Danke für den Vorschlag! - Chris Bunch
Insbesondere das Marionette Collective-Tool (auch mcollective oder mco genannt). Es ist ein Teil der Marionette, mit dem Sie Dinge auf einer Gruppe von Hosts basierend auf Marionetten-Fakten tun können. - Brian Minton


Nicht übersehen Pss und dsh entweder; sie sind beide sehr ähnlich wie gsh, die @ Philip Durbin erwähnt.


8
2018-05-04 16:49



Es gibt anscheinend auch "pdssh" sourceforge.net/projects/pdsh - rogerdpack


Sie können es versuchen Capistrano. Ursprünglich handelt es sich um ein Rails-Bereitstellungstool, das jedoch mit Remote-Computern viele Aufgaben erledigt.

Für einen vollständigeren Zugriff auf die Verwaltung mehrerer Computer möchten Sie vielleicht versuchen Koch.


8
2018-05-01 17:52





Ansible hat die Fähigkeit, Ad-hoc-Befehle auszuführen und ist außerdem erweiterbar, um die vollständige Konfigurationsverwaltung durchzuführen. Die Fähigkeit, basierend auf Gruppen zu passen, ist ausgezeichnet.

http://docs.ansible.com/intro_adhoc.html


8
2017-07-06 22:31



ansible funktioniert gut mit Hunderten von Maschinen gleichzeitig oder Sie können es auf beschränken n  Maschinen auf einmal - chicks


Ich denke, ich werde kopieren und einfügen meine Antwort von Stack Overflow, die Leute zu mögen schienen. . .


Die Frage, wie man Befehle auf vielen Servern gleichzeitig ausführt, kam neulich auf einer Perl-Mailingliste und ich werde die gleiche Empfehlung geben Ich gab dort, das ist gsh: http://outflux.net/unix/software/gsh

gsh ist ähnlich dem "for box in box1_name box2_name box3_name"Lösung bereits gegeben, aber ich finde gsh, um bequemer zu sein. Sie richten eine / etc / ghosts-Datei mit Ihren Servern in Gruppen wie web, db, RHEL4, x86_64 oder was auch immer (man Geister), dann verwenden Sie diese Gruppe, wenn Sie Rufen Sie gsh an.

[pdurbin@beamish ~]$ gsh web "cat /etc/redhat-release; uname -r"
www-2.foo.com: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
www-2.foo.com: 2.6.9-78.0.1.ELsmp
www-3.foo.com: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
www-3.foo.com: 2.6.9-78.0.1.ELsmp
www-4.foo.com: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
www-4.foo.com: 2.6.18-92.1.13.el5
www-5.foo.com: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
www-5.foo.com: 2.6.18-92.1.13.el5
[pdurbin@beamish ~]$

Sie können auch Geistergruppen kombinieren oder aufteilen, z. B. mit web + db oder web-RHEL4.

Ich werde auch erwähnen, dass ich Shmux noch nie benutzt habe, seine Website enthält eine Liste von Software (einschließlich gsh), mit der Sie Befehle auf mehreren Servern gleichzeitig ausführen können. Capistrano wurde bereits erwähnt und (von dem, was ich verstehe) könnte auch auf dieser Liste sein.


6
2018-05-01 19:00





Wenn Sie sich auf einem KDE-Desktop befinden, konsole hat die Option "Eingabe an alle Sitzungen senden". Es gilt für alle Sitzungen, die im selben Konsolenfenster geöffnet sind.


5
2018-05-29 19:10





Du könntest es auch versuchen ssh [user@]hostname [command] und dann die Hostnamen durchlaufen.


5
2017-12-19 21:24



Dies entspricht nicht wirklich dem "sofort" -Teil (es ist serialisiert, nicht parallel), aber da dies nicht eine Anforderung aus dem Körper der Frage zu sein scheint, kann dies auch eine anständige Lösung sein. - voretaq7


Sehen Sie sich auch func an. Mit Func können Sie eine Modularchitektur verwenden, um verschiedene Aspekte eines Systems zu steuern, vom Umgang mit Paketen bis hin zum Ausführen von Befehlen. Es funktioniert auf einem Client / Server-Modul über SSL und hat ein ziemlich flexibles Authentifizierungsschema.


4
2018-05-29 18:43



Außerdem wird Func von Red Hat gebaut und wird voraussichtlich in künftigen Fedora / RHEL-Produkten eingesetzt werden. Dies ist definitiv zu beobachten, da ich erwarte, dass es die De-facto-Standardlösung für diese Art von Problem wird. - Christopher Cashell