Wéi lafen Multiple Kommandoen op Multiple Linux Serveren


Wann Dir e puer Linux Server verwalten, an Dir wëllt e puer Kommandoen op all Linux Server lafen, awer Dir hutt keng Ahnung wéi Dir et maacht. Et ass keng Suergen ze maachen, an dësem einfache Serververwaltungsguide weisen mir Iech wéi Dir verschidde Kommandoen op verschidde Linux Server gläichzäiteg ausféiert.

Fir dëst z'erreechen, kënnt Dir de pssh (parallel ssh) Programm benotzen, e Kommandozeil-Utility fir ssh parallel op enger Zuel vu Hosten auszeféieren. Mat et kënnt Dir Input un all ssh Prozesser schécken, vun engem Shell Skript.

  1. Installéiert Pssh fir Kommandoen op Multiple Remote Linux Serveren auszeféieren
  2. Dir musst SSH Passwuertlos Authentifikatioun fir all Fernserver benotzen.

Erstellt e Shell Skript

Dofir musst Dir ufänken mat engem Skript ze preparéieren deen d'Linux Kommandoen enthält déi Dir op de verschiddene Server ausféiere wëllt. An dësem Beispill wäerte mir e Skript schreiwen, deen déi folgend Informatioun vu verschiddene Serveren sammelt:

  • D'Uptime vun de Serveren iwwerpréiwen
  • Kuckt wien ageloggt ass a wat se maachen
  • Lëscht Top 5 Lafen Prozesser no Erënnerungsverbrauch.

Erstellt als éischt e Skript mam Numm commands.sh mat Ärem Liiblingseditor.

# vi commands.sh

Als nächst füügt déi folgend Kommandoen un d'Skript wéi gewisen.

#!/bin/bash 
###############################################################################
#Script Name    : commands.sh                       
#Description    : execute multiple commands on multiple servers                                                                     
#Author         : Aaron Kili Kisinga       
#Email          : [email  
################################################################################
echo
# show system uptime
uptime
echo
# show who is logged on and what they are doing
who
echo
# show top 5 processe by RAM usage 
ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6

exit 0

Späichert d'Datei a maach se zou. Da maacht de Skript ausféierbar wéi gewisen.

# chmod +x commands.sh

Erstellt PSSH Hosts Datei

Als nächst füügt d'Lëscht vun de Serveren op déi Dir d'Befehle wëllt ausféieren, an enger hosts.txt Datei, am Format [[email ]host[:port] oder gitt einfach dem Server IP Adressen.

Awer mir proposéieren datt Dir ssh Aliasen benotzt, déi an der .ssh/config Datei spezifizéiert kënne ginn wéi erkläert wéi Dir personaliséiert ssh Verbindungen konfiguréiert fir den Fernzougang ze vereinfachen.

Dës Method ass méi effizient an zouverlässeg, et erlaabt Iech Konfiguratiounsoptiounen (wéi Hostnumm, Identifikatiounsdatei, Port, Benotzernumm etc..) fir all Fernserver ze spezifizéieren.

Folgend ass eis Probe ssh Hosts Aliasen Datei a.k.a Benotzerspezifesch ssh Konfiguratiounsdatei.

# vi ~/.ssh/config

Als nächst erstellt eng hosts.txt Datei, hei kënnt Dir einfach d'Aliasen spezifizéieren (Nimm definéiert mat Host Schlësselwuert an .ssh/config Datei) wéi gewisen.

# vi hosts.txt 

Füügt de Server Aliasen derbäi.

server1
server2
server3

Run Kommandoen iwwer e Skript op Multiple Linux Serveren

Fëllt elo de folgende pssh Kommando aus andeems Dir hosts.txt Datei spezifizéiert zesumme mam Skript deen e puer Kommandoen enthält fir op verschidde Fernserveren ze lafen.

# pssh -h hosts.txt -P -I<./commands.sh

Sinn vun de Fändelen déi am uewe genannte Kommando benotzt ginn:

  • -h – liest d'Hostdatei.
  • -P – erzielt pssh fir d'Ausgab ze weisen wéi se ukommen.
  • -I – liest Input a schéckt op all ssh Prozess.

Dat ass et! An dësem Artikel hu mir gewisen wéi Dir verschidde Kommandoen op verschidde Serveren am Linux ausféiert. Dir kënnt all Gedanken iwwer dëst Thema iwwer d'Kommentarsektioun hei drënner deelen.