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

Führen Sie den Befehl auf mehreren Linux-Servern von Windows aus aus

Erfahren Sie, wie Sie denselben/sich wiederholenden Befehl auf mehreren Linux-Servern von der Windows-Maschine ausführen. Dieser Trick verwendet das Befehlszeilen-Putty-Dienstprogramm „plink“.

Eines der Hauptanliegen von Systemadministratoren ist es, denselben/sich wiederholenden Befehl auf mehreren Linux-Servern in Infra auszuführen, wenn kein zentralisiertes Tool verfügbar ist. In diesem Beitrag werden wir sehen, wie man einen Befehl auf mehreren Linux-Servern auf einmal ausführt. Sie müssen Ihr Kontopasswort nirgendwo speichern und müssen nicht einmal expect haben Funktion in Ihrer Quellmaschine!

Voraussetzung

  • Windows-Rechner mit darauf heruntergeladenem plink (hier plink herunterladen)
  • Linux-Server sollten von einem Windows-Rechner aus erreichbar sein

So geht's

plink ist ein Putty-Befehlszeilendienstprogramm. Mit plink können wir eine Verbindung zum Server herstellen, indem wir IP, Benutzername und Passwort in der Befehlszeile eingeben. plink kann von einer Eingabeaufforderung unter Windows aufgerufen werden.

C:\Users\noname\Desktop>plink -ssh [email protected] -pw password@123 (hostname; date)
testserver
Tue Nov  1 12:54:33 IST 2016

C:\Users\noname\Desktop>

Wechseln Sie zur Windows-Eingabeaufforderung, indem Sie cmd eingeben in einem Ausführungsfenster (Windows-Taste + r). Navigieren Sie zu dem Ordner, in dem die ausführbare plink-Datei gespeichert ist, und geben Sie dann den plink-Befehl wie oben ein.

  • ssh:Protokoll zum Verbinden
  • id@Server-IP
  • pw:Kontokennwort
  • Auf dem Linux-Server auszuführende Befehle in geschweiften Klammern.

So funktioniert plink. Um nun den gleichen Befehl auf mehreren Servern auszuführen, sehen wir das folgende Beispiel. Wir werden uns mit 3 Servern verbinden und den Befehl hostname &date ausführen.

Geben Sie zuerst die IP-Adressen aller 3 Server in einer einzigen Datei ip_list.txt ein . Führen Sie dann eine einfache for-Schleife für diese Datei wie unten in der Eingabeaufforderung aus. Dies ist ein sehr einfaches Batch-Skript.

C:\Users\noname\Desktop>FOR /F "tokens=1,2* delims=," %G IN (C:\Users\noname\Desktop\ip_list.txt) DO plink -ssh user1@%G -pw password@123 (hostname; date)

testserver
Tue Nov  1 12:54:33 IST 2016

testserver1
Tue Nov  1 12:54:36 IST 2016

testserver2
Tue Nov  1 12:54:39 IST 2016

C:\Users\noname\Desktop>

Voila! Alle Befehlsausgaben des Servers sind da! Befehle, die auf allen Servern gleichzeitig ausgeführt werden.

Dies ist sehr nützlich, wenn Sie einige einzeilige Ausgaben von allen Servern überprüfen müssen oder wenn Sie Kontoaktualisierungsbefehle auf allen Servern auf einmal ausführen möchten.


Linux
  1. DSH – Führen Sie einen Linux-Befehl auf mehreren Hosts gleichzeitig aus

  2. Linux – Wie führe ich einen Bootloader von Linux aus?

  3. Automatisieren des ausgeführten Befehls unter Linux von Windows mit PuTTY

  4. Ist es besser, Dual-Boot oder eine VM auszuführen?

  5. So führen Sie TeX über die Befehlszeilenschnittstelle in Linux aus

So greifen Sie von Windows 10 auf Linux-Partitionen zu

Kopieren Sie eine Datei in mehrere Verzeichnisse von der Befehlszeile unter Linux

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So führen Sie mehrere Linux-Befehle in einem einzigen Befehl aus

So führen Sie mehrere Linux-Befehle gleichzeitig im Linux-Terminal aus

So führen Sie den SUDO-Befehl in WinSCP aus, um Dateien von Windows nach Linux zu übertragen