Como programar tarea ghettoVCB en Cron para VMware ESXi
La tarea de configurar el cronjobs para sistemas operativos ESX de VMware no es muy diferente a los demás sistemas operativos Linux, pero en VMware ESXi por el contrario, hay que tener francamente en cuenta por que los cambios realizados no persisten cuando reiniciamos el sistema VMware.
Una vez tenemos descargado ghettoVCB de http://communities.vmware.com/docs/DOC-8760 , lo único que tenemos que hacer es un upload a un datastore de VMware en el que queramos alojar el script ghettoVCB.
Podemos acceder con Putty a la consola de nuestro sistema ESXi, desde aquí podréis ir a descargar directamente a la web oficial el programa Putty, A Free Telnet/SSH Client
Y algunos os preguntaréis ¿Cómo abrir el puerto ssh en VMware ESXi?, pues ahí está.
Ejecutamos Putty, y le ponemos la IP del host VMware donde vamos a conectarnos, usuario y contraseña.
Y vamos a suponer lo siguiente:
/vmfs/volumes/datastore2/backup
Será el sitio donde pondremos el script ghettoVCB y el archivo «machines» donde especificaremos las vm que queremos efectuar copia
/vmfs/volumes/datastore3/logs
Será el sitio donde pondremos los logs que genere el script de ghettoVCB
Vamos a programar cronjobs para ghettoVCB
Vamos a:
vi /var/spool/cron/crontabs/root
Y añadimos al final del archivo lo siguiente:
~ # 0 21 * * * /vmfs/volumes/datastore2/backup/ghettoVCB.sh -f /vmfs/volumes/datastore2/backup/machines > /vmfs/volumes/datastore3/logs/ghettoVCB-backup-$(date +\%s).log
Donde pone 21 le ponemos la hora a la que queramos hacer el backup.
Salimos grabando del comando vi con ESC y tecleamos
:wq!
Eliminaremos la anterior programación de CRONJOBS de la siguiente manera:
~ # kill $(cat /var/run/crond.pid)
~ # busybox crond
Y luego editaremos el rc.local y nos encontraremos lo siguiente (en verde) y le añadiremos (lo azul), ejecutando:
~ # vi /etc/rc.local
~ # cat /etc/rc.local
#! /bin/ash
export PATH=/sbin:/bin
log() {
echo "$1"
logger init "$1"
}
#execute all service retgistered in /etc/rc.local.d
if [http:// -d /etc/rc.local.d |http:// -d /etc/rc.local.d ]; then
for filename in `find /etc/rc.local.d/ | sort`
do
if [ -f $filename ] && [ -x $filename ]; then
log "running $filename"
$filename
fi
done
fi
/bin/kill $(cat /var/run/crond.pid)
/bin/echo "0 21 * * * /vmfs/volumes/datastore2/backup/ghettoVCB.sh -f /vmfs/volumes/datastore2/backup/machines > /vmfs/volumes/datastore3/logs/ghettoVCB-backup-\$(date +\\%s).log" >> /var/spool/cron/crontabs/root
/bin/busybox crond
Salimos grabando del comando vi con ESC :wq!
Para asegurarnos que el CRONJOB se creará después de reiniciar físicamente el HOST ejecutaremos lo siguiente:
~ # /sbin/auto-backup.sh
Y nos aparecerá algo como esto que pongo más abajo en naranja
config implicitly loaded
local.tgz
etc/vmware/vmkiscsid/vmkiscsid.db
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/opt/vmware/vpxa/vpxa.cfg
etc/opt/vmware/vpxa/dasConfig.xml
etc/sysconfig/network
etc/vmware/hostd/authorization.xml
etc/vmware/hostd/hostsvc.xml
etc/vmware/hostd/pools.xml
etc/vmware/hostd/vmAutoStart.xml
etc/vmware/hostd/vmInventory.xml
etc/vmware/hostd/proxy.xml
etc/vmware/ssl/rui.crt
etc/vmware/ssl/rui.key
etc/vmware/vmkiscsid/initiatorname.iscsi
etc/vmware/vmkiscsid/iscsid.conf
etc/vmware/vmware.lic
etc/vmware/config
etc/vmware/dvsdata.db
etc/vmware/esx.conf
etc/vmware/license.cfg
etc/vmware/locker.conf
etc/vmware/snmp.xml
etc/group
etc/hosts
etc/inetd.conf
etc/rc.local
etc/chkconfig.db
etc/ntp.conf
etc/passwd
etc/random-seed
etc/resolv.conf
etc/shadow
etc/sfcb/repository/root/interop/cim_indicationfilter.idx
etc/sfcb/repository/root/interop/cim_indicationhandlercimxml.idx
etc/sfcb/repository/root/interop/cim_listenerdestinationcimxml.idx
etc/sfcb/repository/root/interop/cim_indicationsubscription.idx
Binary files /etc/vmware/dvsdata.db and /tmp/auto-backup.31345.dir/etc/vmware/dvsdata.db differ
config implicitly loaded
Saving current state in /bootbank
Clock updated.
Time: 20:40:36 Date: 08/14/2009 UTC
Y ya está configurado cronjobs para que cuando se reinicie nuestro host VMware ESXi, se puedan efectuar las copias de seguridad con el script ghettoVCB
Hola, estoy probando esto mismo en vmware esxi 5 y el crontab no funciona. Si agrego al cron otro ejecutable como ser por ejemplo un touch o un echo y lo redirijo a un archivo de texto si funciona. Pero con el ejecutable del ghetto no.
Alguna idea?
Gracias !