====== Ghetto VCB Backup - Backup von VM's auf ESX Ebene ======
**1.) SSH auf dem ESX aktivieren**
Dies kann man ganz einfach in dem VCenter des ESX machen
----
**2.) Ghetto VCB auf ESX kopieren/installieren**
mkdir /ghettovcb
Files per SCP hin kopieren
Die Files bekommt man hier:
[[https://github.com/lamw/ghettoVCB/tarball/master]]
----
**3.) Editieren der Config**
Die Config ist selbsterklärend
Zwei Tips:
* Compression bring nichts
* Für den Mail-Versand muss man die Firewall noch bearbeiten
----
**4.) Firewall Regel auf dem ESX anlegen für den Mail-Versand**
Das Firewall-Files MUSS kopiert werden um es zu editieren
cd /etc/vmware/firewall
cp service.xml service.xml_rw
chmod u+w service.xml_rw
vi service.xml_rw
Ganz unten in der Config dies einfügen. Es ist auch recht Selbsterklärend
Wichtig ist nur das die "service id" nicht schon vorhanden ist.
Mail
outbound
tcp
dst
25
true
false
cp service.xml_rw service.xml
chmod a-w service.xml
rm -f service.xml_rw
esxcli network firewall refresh
esxcli network firewall ruleset list
Danach kann man die Regel auch im VCenter sehen nach einem Refresh der Liste im VCenter.
----
**5.) Das Backup selbst**
Man kann alle VM's auf dem ESX-Host Backupen oder man nimmt nur spezielle VM's ins Backup auf.
Backup von allen VM's
/ghettovcb/ghettoVCB.sh -g /ghettovcb/ghettoVCB.conf -a
Backup von speziellen VM's
vi /ghettovcb/backup_vm_list.conf
Die VM's die man ins Backup aufnehmen möchte mit dem genauen Namen im VCenter untereinander in das File schreiben und speichern.
/ghettovcb/ghettoVCB.sh -g /ghettovcb/ghettoVCB.conf -f backup_vm_list.conf
----
**6.) Cron-Job einrichten - nicht persistent **
Man muss aufpassen ob die Zeit am ESX richtig gesetzt ist. Am bessten man kontrolliert dies mit "date"
cd /var/spool/cron/crontabs
cp root root_rw
chmod u+w root_rw
vi root_rw
Editieren wie eine normaler Crontab
cp root_rw root
chmod u-w root
rm -f root_rw
Crontab neu starten
< ESXi 3.5u3
kill $(ps | grep crond | cut -f 1 -d ' ')
>= ESXi 3.5u3
kill $(pidof crond)
crond
ESXi 4.x und 5.x
kill $(cat /var/run/crond.pid)
/usr/lib/vmware/busybox/bin/busybox crond
----
** 7. Cronjob persistent machen **
vi /etc/rc.local.d/local.sh
# Write Cron after reboot
/bin/echo "0 2 * * * /vmfs/volumes/datastore1/BACKUP/scripts/ghettoVCB.sh -g /vmfs/volumes/datastore1/BACKUP/scripts/ghettoVCB.conf -f /vmfs/volumes/datastore1/BACKUP/scripts/backup_vm_list.conf" >> /var/spool/cron/crontabs/root
# Restart Cron after new Cronjob
/usr/lib/vmware/busybox/bin/busybox crond