Ghetto VCB Howto Cronjobs
Guten Morgen zusammen,
ich verzweifel gerade an meinen Cronjobs im ESXI 5.0. Kurz gesagt geht es um die kostenlose Backup Variante von ESXI namens "GhettoVCB".
Um das ganze einmal klar darzustellen habe ich ein paar Screenshots einer frisch installierten Esxi 5.0 Testmaschine gemacht.
Alle benötigten Dateien vom GhettoVCB befinden sich in einem Ordner auf einem Datastore.
Hinweis: die Scripte müssen ausführbar gemacht werden. (chmod +x ghettovcb.sh; chmod +x gehttovcb-restore.sh)
Backuplist Datei die manuell erzeugt wird. Wenn man das ghettovcb.sh aufruft mit dem Parameter -f und dann den Pfad zur Datei "Backuplist" angibt, sichert das Script alle Maschinen die in der Datei stehen.
Ghettovcb.sh Script das aufgerufen wird, um ein Snapshot der virtuellen Maschine zu erstellen, die *.vmdk's auf ein NFS Store kopiert und anschließend den Snapshot wieder löscht.
Ghettovcb-restore.sh Das Wiederherstellungsscript.
Ghettovcb.conf Diese Datei kann verwendet werden, indem man das Script per Parameter -c aufruft. Dies ist nur notwendig, wenn verschiedene Konfigurationen benötigt werden. Die Konfigurationen stehen auch direkt in der ghettovcb.sh und daher ist es kein MUSS per Parameter auf die config zu verweisen.
Wenn also die Standartwerte konfiguriert sind, führt man einen Test durch indem man das ganze manuell ausführt.
Schnelltest, ob das Script soweit läuft
./ghettovcb.sh -a (sofern man im Ordner steht - ansonsten absoluten Pfad angeben) (-a sichert alle Maschinen auf dem Host)
Test inklusive alle Parameter Dateien. (Wie es dann auch automatisiert ablaufen soll)
/vmfs/volumes/Datastore/ghettovcb/ghettovcb.sh -f /vmfs/volumes/Datastore/ghettovcb/Backuplist -c /vmfs/volumes/Datastore/ghettovcb/ -l /vmfs/volumes/NFS/VmwareBackups/Backup.log
Soweit so gut. Um sich den Vorgang detailliert anzusehen kann man jetzt noch das Logfile öffnen. Entweder per vi direkt in der Konsole oder man lädt das Logfile direkt vom NFS Share herunter und öffne es mit einem Script tool auf einer Windows Maschine (Notepad++) z.B. (Ich habe die 1-100% entfernt, da sonst Screenshot zu lang wäre)
Nun haben wir sichergestellt, das die Sicherung der gewünschten virtuellen Maschine reibungslos funktioniert. Nun bleibt nur noch das automatisieren dieser Sicherung. Wir bedienen uns hierbei an den gängigen Cronjobs von Linux. Dafür gibt es zum einen den Dienst crond und zum anderen eine Datei in der sich die entsprechenden Jobs befinden. /var/spool/cron/crontabs/root
Hinweis: Die Rechte der Datei Root verändern! (chmod 777 root)
Bei Vmware kommt noch eine Sache hinzu. Um den Inhalt in der "root" Datei dauerhaft zu machen, trägt man den gewünschten Cronjob in die Datei rc.local unter dem Verzeichnis /etc/ ein und führt dann danach das Script auto-backup.sh aus, das sich ebenfalls unter /etc/ befindet. Oder man wartet 1 Stunde, da das genannte Script jede Stunde einmal automatisch vom System gestartet wird.
RC.LOCAL
Nachdem man die Änderung durchgeführt hat. Muss man einmal den Crond beenden und neustarten. Das machen wir indem wir einmal nach der aktuellen PID suchen diesen killen und anschließend den Dienst neu aufrufen.
kill $(cat /var/run/crond.pid)
crond
Nach einem Reboot vom Esxi Host sehe ich das die Einträge in der /var/spool/cron/crontabs/root wie gewünscht noch vorhanden sind.
Nun mit date die Zeit vom System überprüfen.
EDIT: Ok ich doof alles richtig gemacht - theoretisch - man könnte auch den Pfad zum Datastore richtig schreiben -> Datstore -.-
ich verzweifel gerade an meinen Cronjobs im ESXI 5.0. Kurz gesagt geht es um die kostenlose Backup Variante von ESXI namens "GhettoVCB".
Um das ganze einmal klar darzustellen habe ich ein paar Screenshots einer frisch installierten Esxi 5.0 Testmaschine gemacht.
Alle benötigten Dateien vom GhettoVCB befinden sich in einem Ordner auf einem Datastore.
Hinweis: die Scripte müssen ausführbar gemacht werden. (chmod +x ghettovcb.sh; chmod +x gehttovcb-restore.sh)
Backuplist Datei die manuell erzeugt wird. Wenn man das ghettovcb.sh aufruft mit dem Parameter -f und dann den Pfad zur Datei "Backuplist" angibt, sichert das Script alle Maschinen die in der Datei stehen.
Ghettovcb.sh Script das aufgerufen wird, um ein Snapshot der virtuellen Maschine zu erstellen, die *.vmdk's auf ein NFS Store kopiert und anschließend den Snapshot wieder löscht.
Ghettovcb-restore.sh Das Wiederherstellungsscript.
Ghettovcb.conf Diese Datei kann verwendet werden, indem man das Script per Parameter -c aufruft. Dies ist nur notwendig, wenn verschiedene Konfigurationen benötigt werden. Die Konfigurationen stehen auch direkt in der ghettovcb.sh und daher ist es kein MUSS per Parameter auf die config zu verweisen.
Wenn also die Standartwerte konfiguriert sind, führt man einen Test durch indem man das ganze manuell ausführt.
Schnelltest, ob das Script soweit läuft
./ghettovcb.sh -a (sofern man im Ordner steht - ansonsten absoluten Pfad angeben) (-a sichert alle Maschinen auf dem Host)
Test inklusive alle Parameter Dateien. (Wie es dann auch automatisiert ablaufen soll)
/vmfs/volumes/Datastore/ghettovcb/ghettovcb.sh -f /vmfs/volumes/Datastore/ghettovcb/Backuplist -c /vmfs/volumes/Datastore/ghettovcb/ -l /vmfs/volumes/NFS/VmwareBackups/Backup.log
Soweit so gut. Um sich den Vorgang detailliert anzusehen kann man jetzt noch das Logfile öffnen. Entweder per vi direkt in der Konsole oder man lädt das Logfile direkt vom NFS Share herunter und öffne es mit einem Script tool auf einer Windows Maschine (Notepad++) z.B. (Ich habe die 1-100% entfernt, da sonst Screenshot zu lang wäre)
Nun haben wir sichergestellt, das die Sicherung der gewünschten virtuellen Maschine reibungslos funktioniert. Nun bleibt nur noch das automatisieren dieser Sicherung. Wir bedienen uns hierbei an den gängigen Cronjobs von Linux. Dafür gibt es zum einen den Dienst crond und zum anderen eine Datei in der sich die entsprechenden Jobs befinden. /var/spool/cron/crontabs/root
Hinweis: Die Rechte der Datei Root verändern! (chmod 777 root)
Bei Vmware kommt noch eine Sache hinzu. Um den Inhalt in der "root" Datei dauerhaft zu machen, trägt man den gewünschten Cronjob in die Datei rc.local unter dem Verzeichnis /etc/ ein und führt dann danach das Script auto-backup.sh aus, das sich ebenfalls unter /etc/ befindet. Oder man wartet 1 Stunde, da das genannte Script jede Stunde einmal automatisch vom System gestartet wird.
RC.LOCAL
Nachdem man die Änderung durchgeführt hat. Muss man einmal den Crond beenden und neustarten. Das machen wir indem wir einmal nach der aktuellen PID suchen diesen killen und anschließend den Dienst neu aufrufen.
kill $(cat /var/run/crond.pid)
crond
Nach einem Reboot vom Esxi Host sehe ich das die Einträge in der /var/spool/cron/crontabs/root wie gewünscht noch vorhanden sind.
Nun mit date die Zeit vom System überprüfen.
EDIT: Ok ich doof alles richtig gemacht - theoretisch - man könnte auch den Pfad zum Datastore richtig schreiben -> Datstore -.-
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 195393
Url: https://administrator.de/contentid/195393
Ausgedruckt am: 22.11.2024 um 02:11 Uhr