Guten Tag,
wie kann ich einen Befehl in jeder virtuellen Machine bzw. in jedem virtuellem Server ausführen?
In diesem Tutorial möchte ich ein Script vorstellen, dass genau auf diese Frage eine Antwort liefert.
1. Editor öffnen:
nano /root/script/execCommandAllVM.sh
2. Fügen folgenden Inhalt ein:
#!/bin/bash comment=$1 CTIDS=$(vzlist | awk '{print $1}' | sed -e '/CTID/d' -e ':a;N;$!ba;s/\n/ /g' ) echo "$CTIDS " CTIDarray=($CTIDS) for x in ${CTIDarray[@]} do echo "----------------------" echo $x $(vzctl exec $x hostname) echo "----------------------" vzctl exec $x $comment echo "---------------------------------------------------------------- $x END" done
Speichern mit STRG+O ab & verlassen mit STRG+X das Programm.
3. Dem Script Rechte geben:
chmod 700 /root/script/execCommandAllVM.sh
4. Script ausführen:
/root/script/execCommandAllVM.sh "<BEFEHL/BEFEHLE>"
Beispiel: (Führt ein Update auf allen Servern aus. )
/root/script/execCommandAllVM.sh "apt-get update;apt-get upgrade -y"
Beim Befehl „free -m“ siehts zum Beispiel bei einem meiner Server so aus:
Schreibe einen Kommentar