Backup de un sitio OMD (check_mk RAW Edition CRE)

Hacer un backup de un sitio omd, es muy fácil, sólo hay que ejecutar:

omd backup "ruta/archivo"

Ésto crea un fichero llamado "archivo" en la ruta "ruta" en el que va a contener todo el sitio para poder restaurarlo en cualquier servidor con OMD o CRE, vamos más fácil imposible

Lo malo es que antes de hacer el backup hay que parar el sitio (con 'omd stop'), por lo que tendremos que tener el sitio parado un tiempo, lo que tarde en hacer el backup, que en casos de instalaciones grandes, puede ser bastante tiempo, a mi con unos 3000 servicios monitorizados, me tarda unos 5-7 minutos.

Hacer un backup del sitio omd con una tarea programada

Yo lo que he hecho es crear un script que automatice la parada del sitio, la creación del fichero de backup y que vuelva a arrancar el sitio, así como que suba el fichero por ftp a un servidor de backup para su archivado, éste script será ejecutado por una tarea programada de manera que haga el backup por la noche, que así no interrumpo demasiado.

Como en omd está bastante bien pensado todo, tenemos un directorio donde podamos crear un script que se pueda ejecutar por el usuario del sitio, ésto es, en /omd/sites/nombre_de_mi_sitio/local/bin/ todo lo que pongamos ahí, se podrá ejecutar sin problemas.

El script, que tiene el nombre tan original de 'backup_omd.sh" tiene el siguiente código:

#Script para hacer backup de un sitio omd, hace uno por día de la semana y lo sube a rbackup01
#Sólo guarda los de una semana, borrando los subsiguientes
echo ""
echo "---------------------------------------------------------------------------"
echo "Backup del dia "
date

dia_text=$(date +%A) # dia de la semana en texto
echo ""
echo "Paro el sitio" $OMD_SITE
omd stop
echo ""
echo "Creamos el backup"
omd backup $OMD_ROOT"/backup/"$OMD_SITE"_backup"
echo ""
echo "Arranco el sitio" $OMD_SITE
omd start
echo ""
echo "Subo el fichero "$OMD_SITE"_backup al servidor de backup"
echo "con el nombre "$OMD_SITE"_backup_"$dia_text
ftp -vni backupserver <<EOF
user mi_usuario mi_password
prompt off
bin
cd nagios
cd $OMD_SITE
lcd $OMD_ROOT"/backup/
put $OMD_SITE"_backup" $OMD_SITE"_backup_"$dia_text
close
bye

Una vez hecho el script, lo podemos ejecutar para ver si funciona, y una vez funcionando, debemos hacer una tarea programada para que ejecute el script a la hora que queramos.

OMD está tan bien pensado que cada sitio tiene sus propias tareas programadas, que están en "/omd/sites/mi_sitio/etc/cron.d/", así que creamos otro fichero para cron que en mi caso le he puesto el original nombre de "backup", el cuál queda de la siguiente manera:

# Once a day, at 02:00, hace backup de todo el sitio
00 02 * * * backup_omd.sh >> $OMD_ROOT/var/log/backup/backup_$OMD_SITE.log

Como vemos, escribe la salida estándar en el fichero /omd/sites/misitio/var/log/backup/backup_misitio.log, por lo que tendremos que crear el directorio backup dentro de /omd/sites/misitio/var/log antes de que se ejecute la tarea programada.

En el caso del ejemplo, se ejecuta la tarea todos los días a las 2 de la madrugada, insisto, cuidado que hay parada del sitio, y si es grande es un rato, así que avisad a los operadores que se va a parar el sitio todos los días a esa hora. Quería poner un mensaje que informase de que se está haciendo el backup, pero aún no he tenido tiempo de mirarlo, si tengo tiempo y lo hago, ya lo pondré en éste artículo.

Una vez hecho ésto ya está todo preparado, lo único que tenemos que hacer es reiniciar el sitio:

omd restart

con el usuario "misitio" y ya se programará la tarea para ejecutarse

Por último, saber que con el usuario root de un servidor omd, podemos hacer una restauración del sitio con el mismo nombre "misitio" o con cualquier otro de la forma:

omd restore nombredelsitio archivo_de_backup

De ésta manera se creará un sitio con el nombre "nombredelsitio" exáctamente igual y en el mismo estado que cuando hicimos el backup, no me digáis que no es cómodo….

Esta entrada fue publicada en nagios, omd, Sin categoría. Guarda el enlace permanente.