linguin
Goto Top

Linux Shell - Bash Script - Sicherung von VMWare Servern - Runterfahren der Server mit ---Soft--- funktioniert nicht!

Hallo,

ich hoffe der Titel ist Aussagekräftig.

Situation:

Linux Server (OpenSuse11.1)
VMWare Server 2.2

ca. 10 Virtuelle PCs von Linux über WinXP und Win2003 Server

Diese werden täglich gesichert! Über einen Shell Script was soweit gut funktioniert, das einzige Problem was ab und an auftritt ist das ein WinXP PC beim runterfahren hängen bleibt und letztendlich nicht ausgeht was für den Script heißt er macht nicht weiter da ja der Virtuelle PC noch nicht aus ist! (Und hier ist das Problem)

Das Herunterfahren im Script sieht so aus!

/usr/bin/vmrun -h https://127.0.0.1:8333/sdk -u root -p -T server stop "3_Web02/WEB02.vmx" soft

wobei man das ganze auch ohne das am Ende erscheinende SOFT machen könnte, nur da ist das Problem das es so ist wie wenn ich einen PC einfach den Stom nehme und so lang ich das vermeiden kann möchte ich das nicht tun!

Mein Gedanke war nun eine Schleife zu benutzen im Script!

Nun bin ich mir nicht sicher wie ich das umsetzen soll. (Und auch nicht wie ich das genau beschreiben soll ich tue mein Bestes)

also:

Schleife -> Wie ich sie gern hätte!

fahre den server so runter
/usr/bin/vmrun -h https://127.0.0.1:8333/sdk -u root -p -T server stop "3_Web02/WEB02.vmx" soft

wenn er nach 5min nicht aus ist dann
/usr/bin/vmrun -h https://127.0.0.1:8333/sdk -u root -p -T server stop "3_Web02/WEB02.vmx"


Problem 1: ich meine der script hängt in der schleife weill er auf das ausgehen des server wartet
Problem 2: welche schleife
Problem 3: das problem lässt sich nicht simulieren (oder doch?)


Für Tipps wäre ich sehr dankbar!

LG Linguin

Content-ID: 188692

Url: https://administrator.de/contentid/188692

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

Alchimedes
Alchimedes 27.07.2012 aktualisiert um 16:14:03 Uhr
Goto Top
Hallo,

Du musst die Rechner via ping abfragen und dann das Requestfeld auslesen.

Hab hier was gefunden was Dir dabei weiterhelfen sollte.

http://bash.cyberciti.biz/monitoring/monitor-windows-linux-server-with- ...


Gruss


Ergaenzung:

Hab das Script ein wenig geandert.

HOSTS="www.google.de" #Beispiel

  1. no ping request
COUNT=5

for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')

if [ $count -eq 0 ]; then
  1. 100% failed
echo "Host : $myHost is down (ping failed) at $(date)"
else
echo "Host $HOSTS ist da"
fi
done

Ubernehmen kannst Du das so eh nicht,ist halt nur eine Anregung.

Wobei ich denke das man sich das ping gefrickel sparen kann und lieber gleich mit fping arbeitet...
Hab hier naehmlich jetzt hier ein fast gleiches Problem.. Die Clientrechner sollen ueberprueft werden und wenn Sie
Online sind z.B WE sollen Sie heruntergefahren werden.
riecht nach Wochenendarbeit...

Gruss
linguin
linguin 27.07.2012 um 18:27:22 Uhr
Goto Top
Danke für deine Antwort

aber das Problem ist ...

wenn ich das per script mache arbeitet dieser von oben nach unten
also heißt

-.... fahre pc runter .. (script steht und wartet) pc geht aber nicht aus heißt alles weiter was danach kommt arbeitet er erst dann ab wenn der pc aus ist ...

ich hoffe du verstehst was ich meine!
linguin
linguin 28.07.2012 um 07:39:20 Uhr
Goto Top
Hallo,

was mir noch einfällt was aber keine schöne lösung ist wäre ein kontroll script der zur ca. zeit die server abfrägt.

hat keiner eine bessere lösung?

@Alchimedes
zu deinem client problemchen, das ist in ein paar stunden mit einem script gelöst. ip´s anpingen bei antwort befehl zum runterfahren schicken. (funktioniert sogar bei windows face-smile )
Alchimedes
Alchimedes 29.07.2012 um 15:19:37 Uhr
Goto Top
Hallo,

das Problem kannst Du doch mittels Schleife umgehen.
Denn wenn Dein Script es nicht schafft den Rechner b.z.w VM herunterzufahren
dann muss es eben zum naechsten weiter springen.
Koennte Dir dann aber z.b eine Mail ueber den Status schicken.

Was mein Problem angeht, die Windowsrechner kann ich nur ueber den Sambaserver herunterfahren.
also z.B so:

net rpc SHUTDOWN -C "some comment here" -f -I x.x.x.x -U user_name%password

Samba kennt halt die net Kommandos.

Gruss