Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
Automatischer ShutDown ESX 5i Host 5.0
Automatischer ShutDown ESX 5i Host 5.0
Ich möchte über einen CronJob erreichen, das mein ESX-Host täglich um 22:00 herunterfährt. Hierzu habe ich folgenden Link gefunden:http://www.sysbus.eu/?p=2669
Hierzu folgendes:
Die Datei /var/spool/cron/crontabs/root ist schreibgeschützt.
Die Datei bzw. der Pfad /etc/rc.local.d/local.sh gibt es bei mir nicht
Bei mir gibt es 2 Dateien unter /etc 1x rc.local und 1x local.sh
In beiden Dateien habe ich folgende Anweisung eingefügt: (nur mit anderer Uhrzeit)
echo “0 23 * * * /bin/halt” >> /var/spool/cron/crontabs/root
Bis jetzt ALLES ohne Erfolg. Die Einträge habe ich mit dem vi vorgenommen und auch abgespeichert. Habe noch festgestellt, das nach einem gewollten Neustart des Servers der Eintrag in der local.sh weg war.
?? Was mache ich falsch. - Danke für jede Hilfe/Unterstützung
PS: ?? Gibt es auch eine Möglichkeit die VM-Gäste automatisch herunter zufahren.
!! Habe keinerlei Erfahrung mit Linux bzw. Skripting.
Hierzu folgendes:
Die Datei /var/spool/cron/crontabs/root ist schreibgeschützt.
Die Datei bzw. der Pfad /etc/rc.local.d/local.sh gibt es bei mir nicht
Bei mir gibt es 2 Dateien unter /etc 1x rc.local und 1x local.sh
In beiden Dateien habe ich folgende Anweisung eingefügt: (nur mit anderer Uhrzeit)
echo “0 23 * * * /bin/halt” >> /var/spool/cron/crontabs/root
Bis jetzt ALLES ohne Erfolg. Die Einträge habe ich mit dem vi vorgenommen und auch abgespeichert. Habe noch festgestellt, das nach einem gewollten Neustart des Servers der Eintrag in der local.sh weg war.
?? Was mache ich falsch. - Danke für jede Hilfe/Unterstützung
PS: ?? Gibt es auch eine Möglichkeit die VM-Gäste automatisch herunter zufahren.
!! Habe keinerlei Erfahrung mit Linux bzw. Skripting.
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Hallo wilfried,
hier meine /etc/rc.local
Klaus
[Moderator]
{Code}{/Code}
hier meine /etc/rc.local
Code: Alles auswählen
=================================
#!/bin/sh
export PATH=/sbin:/bin
log() {
echo "${1}"
/bin/busybox logger init "${1}"
}
# execute all service retgistered in ${rcdir} ($1 or /etc/rc.local.d)
if [ -d "${1:-/etc/rc.local.d}" ] ; then
for filename in $(find "${1:-/etc/rc.local.d}" | /bin/busybox sort) ; do
if [ -f "${filename}" ] && [ -x "${filename}" ]; then
log "running ${filename}"
"${filename}"
fi
done
fi
# Hier wird die /var/spool/cron/crontabs/root um die Sicherung erweitert.
# Die Zeit wird in UTC eingegeben. Also eine Stunde früher.
# =========================================================
kill $(cat /var/run/crond.pid)
/bin/busybox echo "00 22 * * 1-6 /vmfs/volumes/datastore1/script/Sicherung.sh" >> /var/spool/cron/crontabs/root
# 22:00 Uhr UTC ist 23:00 Uhr lokale Winterzeit und 00:00 Uhr lokale Sommerzeit
/bin/busybox crond
=================================================================Klaus
[Moderator]
{Code}{/Code}
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Hallo irix,
> Die Anleitung ist doch fuer 5.1 und du hast einen 5.0?
das script funktioniert auch auf einem 5.0.
> Des Weiteren war in der Anfangszeit der VM Shutdown im kostenlosen
> vSphere Hypervisor defekt und wurde erst mit einem Patch oder dem u1
>wieder funktionsfaehig gemacht.
Ok, u1 ist natürlich installiert.
Klaus
> Die Anleitung ist doch fuer 5.1 und du hast einen 5.0?
das script funktioniert auch auf einem 5.0.
> Des Weiteren war in der Anfangszeit der VM Shutdown im kostenlosen
> vSphere Hypervisor defekt und wurde erst mit einem Patch oder dem u1
>wieder funktionsfaehig gemacht.
Ok, u1 ist natürlich installiert.
Klaus
Hat funktioniert
Vielen Dank,
hat nach dem Update funktioniert.
Gibt es nun auch eine Möglichkeit, die entsprechenden Gäste (VMs) automatisch herunter zu fahren. Oder geht das nur mit Windows Tools wie pshutdown ?
hat nach dem Update funktioniert.
Gibt es nun auch eine Möglichkeit, die entsprechenden Gäste (VMs) automatisch herunter zu fahren. Oder geht das nur mit Windows Tools wie pshutdown ?
Host->Configuration->VM Startup/Shutdown aktivieren un
Hallo Jörg,
also unter Host -> Konfiguration gibt es den Punkt "Software". Darunter:
VM starten/herunterfahren. Hier kann ich aber nur die Standardverzögerung beim Aus bzw. Einschalten einrichten. Oder bin ich hier an der falschen Seite ??
- Danke
also unter Host -> Konfiguration gibt es den Punkt "Software". Darunter:
VM starten/herunterfahren. Hier kann ich aber nur die Standardverzögerung beim Aus bzw. Einschalten einrichten. Oder bin ich hier an der falschen Seite ??
- Danke
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Hallo Wilfried,
hier das Script zum Herunterfahren einer VM.
Klaus
[Moderator]
{Code}{/Code}
hier das Script zum Herunterfahren einer VM.
Code: Alles auswählen
#!/bin/sh
VM_NAME="APServer"
/bin/vim-cmd vmsvc/getallvms | sed 's/[[:blank:]]\{3,\}/ /g' | awk -F' ' '{print "\""$1"\";\""$2"\";\""$3"\""}' | sed 's/\] /\]\";\"/g' | sed '1,1d' > /tmp/vms_list
VM_ID=`grep -E "\"${VM_NAME}\"" /tmp/vms_list | awk -F ";" '{print $1}' | sed 's/"//g'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1Klaus
[Moderator]
{Code}{/Code}
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Nachtrag,
> also unter Host -> Konfiguration gibt es den Punkt "Software". Darunter:
> VM starten/herunterfahren. Hier kann ich aber nur die Standardverzögerung beim Aus
> bzw. Einschalten einrichten. Oder bin ich hier an der falschen Seite ??
Nein,
Automatisches Starten und Herunterfahren zulassen,
Aktion beim Herunterfahren: Herunterfahren des Gastes
Klaus
> also unter Host -> Konfiguration gibt es den Punkt "Software". Darunter:
> VM starten/herunterfahren. Hier kann ich aber nur die Standardverzögerung beim Aus
> bzw. Einschalten einrichten. Oder bin ich hier an der falschen Seite ??
Nein,
Automatisches Starten und Herunterfahren zulassen,
Aktion beim Herunterfahren: Herunterfahren des Gastes
Klaus
-
irix
- King of the Hill
- Beiträge: 13066
- Registriert: 02.08.2008, 15:06
- Wohnort: Hannover/Wuerzburg
- Kontaktdaten:
Re: Host->Configuration->VM Startup/Shutdown aktiviere
wilfriedw hat geschrieben:Hallo Jörg,
also unter Host -> Konfiguration gibt es den Punkt "Software". Darunter:
VM starten/herunterfahren. Hier kann ich aber nur die Standardverzögerung beim Aus bzw. Einschalten einrichten. Oder bin ich hier an der falschen Seite ??
- Danke
Nein, du bist nicht an der falschen Stelle. Im deutschen und auf einem Standalone ist die Menufuehrung eine andere. Neben der Startverzoegerung kannst du doch unten auch die Reihenfolgen einstellen bzw. ueberhaupt definieren das die VM starten sollen.
Gruss
Joerg
Host->Configuration->VM Startup/Shutdown aktivieren
!!! Vielen Dank an ALLE für die super Unterstützung.
Hab den Eintrag gefunden.
Das mit dem Skript werde ich noch testen. Ist das ein Cronjob bzw. muss der Eintrag
in die rc. local ??
Hab den Eintrag gefunden.
Das mit dem Skript werde ich noch testen. Ist das ein Cronjob bzw. muss der Eintrag
in die rc. local ??
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Hallo Wilfried,
>Das mit dem Skript werde ich noch testen.
> Ist das ein Cronjob bzw. muss der Eintrag in die rc. local ??
das ist erst mal ein script zum herunterfahren einer VM.
Ob du ihn als cronjob nutzt, ist deine Sache.
Ich nutzt das Script in Verbindung zur Datensicherung.
Also VM herunterfahren, VM sichern, VM starten.
Die Datensicherung ist ein Cronjob.
Klaus
>Das mit dem Skript werde ich noch testen.
> Ist das ein Cronjob bzw. muss der Eintrag in die rc. local ??
das ist erst mal ein script zum herunterfahren einer VM.
Ob du ihn als cronjob nutzt, ist deine Sache.
Ich nutzt das Script in Verbindung zur Datensicherung.
Also VM herunterfahren, VM sichern, VM starten.
Die Datensicherung ist ein Cronjob.
Klaus
-
albiderbaer
- Member
- Beiträge: 82
- Registriert: 12.09.2012, 20:56
-
mbreidenbach
- Experte
- Beiträge: 1006
- Registriert: 30.10.2004, 12:41
APC hat inzwischen ein Zusatzskript welches von PCNS aus aufgerufen die VMs runterfährt.
http://www2.schneider-electric.com/reso ... onment.pdf
http://www2.schneider-electric.com/reso ... onment.pdf
-
albiderbaer
- Member
- Beiträge: 82
- Registriert: 12.09.2012, 20:56
@mbreidenbach
leider funktioniert das Script auf dem vma bei mir nicht.
Wenn ich das Script von Hand starte mittels sudo ./bin/shutdownvms.sh
dann erscheint folgende Fehlermeldung:
./bin/shutdownvms.sh: line 19: unexpected EOF while looking for matching `"´
./bin/shutdownvms.sh: line 29: syntax error: unexpected end of file
In der shutdownvms.sh habe ich als Host die IP-Adresse des ESXi und vi-admin als username mit dessen Passwort eingetragen
Schade eigentlich. Bin über jeden Rat dankbar.
Gruß Thomas
leider funktioniert das Script auf dem vma bei mir nicht.
Wenn ich das Script von Hand starte mittels sudo ./bin/shutdownvms.sh
dann erscheint folgende Fehlermeldung:
./bin/shutdownvms.sh: line 19: unexpected EOF while looking for matching `"´
./bin/shutdownvms.sh: line 29: syntax error: unexpected end of file
In der shutdownvms.sh habe ich als Host die IP-Adresse des ESXi und vi-admin als username mit dessen Passwort eingetragen
Schade eigentlich. Bin über jeden Rat dankbar.
Gruß Thomas
-
Dayworker
- King of the Hill
- Beiträge: 13659
- Registriert: 01.10.2008, 12:54
- Wohnort: laut USV-Log am Ende der Welt...
Mit welchem Programm hast du das Script eingetragen?
EOL-Fehler sind ein bekanntes Problem, wenn man eine Datei unter Windows oder Linux bearbeitet und dabei nicht das jeweilige Zeilenendekennzeichen beachtet. Während unter Linux ein "LF" ausreicht, will Windows ein "CR+LF" am Zeilenende sehen. Viele Editoren unter Windows wie Notepad++ können beides verarbeiten und bieten auch eine Konvertierung nach Windows, Linux oder MacOS an. Unter Linux und MacOS kann man feherhafte Zeilenendezeichen auch problemlos auf der Ba$h oder Terminal bearbeiten.
EOL-Fehler sind ein bekanntes Problem, wenn man eine Datei unter Windows oder Linux bearbeitet und dabei nicht das jeweilige Zeilenendekennzeichen beachtet. Während unter Linux ein "LF" ausreicht, will Windows ein "CR+LF" am Zeilenende sehen. Viele Editoren unter Windows wie Notepad++ können beides verarbeiten und bieten auch eine Konvertierung nach Windows, Linux oder MacOS an. Unter Linux und MacOS kann man feherhafte Zeilenendezeichen auch problemlos auf der Ba$h oder Terminal bearbeiten.
-
albiderbaer
- Member
- Beiträge: 82
- Registriert: 12.09.2012, 20:56
-
albiderbaer
- Member
- Beiträge: 82
- Registriert: 12.09.2012, 20:56
-
albiderbaer
- Member
- Beiträge: 82
- Registriert: 12.09.2012, 20:56
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Hallo albiderbaer
teste mal mein Script.
Da werden zuerst 3 VM's heruntergefahren und nach 2 Minuten des ESXi ausgeschaltet.
Klaus
[Moderator]
{Code}{/Code}
teste mal mein Script.
Da werden zuerst 3 VM's heruntergefahren und nach 2 Minuten des ESXi ausgeschaltet.
Code: Alles auswählen
#!/bin/sh
VM_NAME="APServer"
/bin/vim-cmd vmsvc/getallvms | sed 's/[[:blank:]]\{3,\}/ /g' | awk -F' ' '{print "\""$1"\";\""$2"\";\""$3"\""}' | sed 's/\] /\]\";\"/g' | sed '1,1d' > /tmp/vms_list
VM_ID=`grep -E "\"${VM_NAME}\"" /tmp/vms_list | awk -F ";" '{print $1}' | sed 's/"//g'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1
VM_NAME="XP-Pro"
/bin/vim-cmd vmsvc/getallvms | sed 's/[[:blank:]]\{3,\}/ /g' | awk -F' ' '{print "\""$1"\";\""$2"\";\""$3"\""}' | sed 's/\] /\]\";\"/g' | sed '1,1d' > /tmp/vms_list
VM_ID=`grep -E "\"${VM_NAME}\"" /tmp/vms_list | awk -F ";" '{print $1}' | sed 's/"//g'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1
VM_NAME="NFS-Server"
/bin/vim-cmd vmsvc/getallvms | sed 's/[[:blank:]]\{3,\}/ /g' | awk -F' ' '{print "\""$1"\";\""$2"\";\""$3"\""}' | sed 's/\] /\]\";\"/g' | sed '1,1d' > /tmp/vms_list
VM_ID=`grep -E "\"${VM_NAME}\"" /tmp/vms_list | awk -F ";" '{print $1}' | sed 's/"//g'`
/bin/vim-cmd vmsvc/power.shutdown ${VM_ID} > /dev/null 2>&1
sleep 120
/bin/halt
Klaus
[Moderator]
{Code}{/Code}
@Klaus
Die zwei Zeilen
lassen sich ersetzen durch
Die zwei Zeilen
Code: Alles auswählen
/bin/vim-cmd vmsvc/getallvms | sed 's/[[:blank:]]\{3,\}/ /g' | awk -F' ' '{print "\""$1"\";\""$2"\";\""$3"\""}' | sed 's/\] /\]\";\"/g' | sed '1,1d' > /tmp/vms_list
VM_ID=`grep -E "\"${VM_NAME}\"" /tmp/vms_list | awk -F ";" '{print $1}' | sed 's/"//g'` lassen sich ersetzen durch
Code: Alles auswählen
VM_ID=`/bin/vim-cmd vmsvc/getallvms | grep ${VM_NAME} | awk '{print $1}'`-
albiderbaer
- Member
- Beiträge: 82
- Registriert: 12.09.2012, 20:56
@Klaus
@~thc
vielen Dank für Eure Hilfe
Die Frage ist nur wo dieses Skript abgearbeitet wird. Auf dem vMA scheint es die Dateien /bin/vim-cmd bzw. /bin/halt nicht zu geben. Output: No such File or Directory
Also gehe ich davon aus, dass das Script auf dem Esxi gestartet werden muss??
Bloß dann ist die Frage, wie ich das mit dem mit der APC-Managementkarte verknüpfe.
Gruss Thomas
@~thc
vielen Dank für Eure Hilfe
Die Frage ist nur wo dieses Skript abgearbeitet wird. Auf dem vMA scheint es die Dateien /bin/vim-cmd bzw. /bin/halt nicht zu geben. Output: No such File or Directory
Also gehe ich davon aus, dass das Script auf dem Esxi gestartet werden muss??
Bloß dann ist die Frage, wie ich das mit dem mit der APC-Managementkarte verknüpfe.
Gruss Thomas
@albi
Meine Antwort bezog sich nur auf das Script von Klaus, welches sich wiederum eher auf die ursprüngliche Fragestellung des Threads bezieht und auf einem ESXi läuft.
Wenn du auf der vMA keine Unix-kompatiblen Dateien erzeugen möchtest, kannst du die unter Windows erzeugte Datei mit einem FTP-Programm wie z.B. Filezilla im "ASCII"-Modus auf die vMA hochladen. Dabei wird das (DOS/Unix-) Format angepasst.
Meine Antwort bezog sich nur auf das Script von Klaus, welches sich wiederum eher auf die ursprüngliche Fragestellung des Threads bezieht und auf einem ESXi läuft.
Wenn du auf der vMA keine Unix-kompatiblen Dateien erzeugen möchtest, kannst du die unter Windows erzeugte Datei mit einem FTP-Programm wie z.B. Filezilla im "ASCII"-Modus auf die vMA hochladen. Dabei wird das (DOS/Unix-) Format angepasst.
-
Klaus_Urban
- Member
- Beiträge: 210
- Registriert: 18.02.2011, 11:30
Hallo albiderbaer
>Die Frage ist nur wo dieses Skript abgearbeitet wird.
>Also gehe ich davon aus, dass das Script auf dem Esxi gestartet werden muss??
Richtig
>Bloß dann ist die Frage, wie ich das mit dem mit der APC-Managementkarte verknüpfe.
ssh root@ESXi-IP '/bin/ash -s' < /vmfs/volumes/datastore1/script/Ausschalten.sh
Das Problem wird die Passwortübergabe sein.
Per Windows VM funktioniert es per Plink.exe
start plink.exe -ssh -pw ESXI-Passwort -2 root@ESXi-IP "/vmfs/volumes/datastore1/script/Ausschalten.sh"
Klaus
>Die Frage ist nur wo dieses Skript abgearbeitet wird.
>Also gehe ich davon aus, dass das Script auf dem Esxi gestartet werden muss??
Richtig
>Bloß dann ist die Frage, wie ich das mit dem mit der APC-Managementkarte verknüpfe.
ssh root@ESXi-IP '/bin/ash -s' < /vmfs/volumes/datastore1/script/Ausschalten.sh
Das Problem wird die Passwortübergabe sein.
Per Windows VM funktioniert es per Plink.exe
start plink.exe -ssh -pw ESXI-Passwort -2 root@ESXi-IP "/vmfs/volumes/datastore1/script/Ausschalten.sh"
Klaus
-
irix
- King of the Hill
- Beiträge: 13066
- Registriert: 02.08.2008, 15:06
- Wohnort: Hannover/Wuerzburg
- Kontaktdaten:
Es gibt mittlerweile ein "esxcli" Plugin welches das Programm um die Faehigkeit erweitert Remote Commands auszufuehren ohne das man den SSH aufmachen muss. Wenn ich es richtig gelesen habe tunnelt man die API und es wird explizit ghettoVCB2 erwaehnt.
Ich vermute das du so auch dein Shutdown Script antriggern kannst von einer VM oder externem System welche deinen APC Agent und vSphere CLI installiert hat.
http://www.v-front.de/2013/01/release-e ... trary.html
Gruss
Joerg
Ich vermute das du so auch dein Shutdown Script antriggern kannst von einer VM oder externem System welche deinen APC Agent und vSphere CLI installiert hat.
http://www.v-front.de/2013/01/release-e ... trary.html
Gruss
Joerg
Zurück zu „vSphere 5 / ESXi 5 und 5.1“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast