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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 188692
Url: https://administrator.de/contentid/188692
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
4 Kommentare
Neuester Kommentar
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
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
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
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
- no ping request
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
- 100% failed
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
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
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