Archive for March 28th, 2008

Autobackup de la base de datos

Friday, March 28th, 2008

Estos días en los que el servidor ha estado caído he estado muy tentado de coger y traspasarlo todo a otro servidor aunque sea temporalmente. Sin embargo me he encontrado con el problema de no tener acceso a la base de datos actualizada, con lo que no podía hacer nada. Hubiera deseado tener a mano aunque sea una versión de la base de datos del mismo día o del día anterior a la caída.

La cuestión es que he dado con una solución bastante buena y sencilla, enviarme por correo electrónico la base de datos una o dos veces al día (no en todos los servidores es posible hacer esto).

Para esto simplemente hay que crearse un script en el servidor que haga lo siguiente.

#!/bin/sh

mysqldump -u user -ppassword -h host.domain database | gzip > ~/database.sql.gz

echo “This is an autogenerated mail with the backup” | mutt -s “[databasebak]” -a ~/database.sql.gz miemailparabackup@servidor.com

Es necesario disponer del comando mutt que se encarga de enviar un correo electronico con formato MIME capaz de codificar un fichero binario adjunto.

A este script podemos llamarlo “~/scripts/dbbak.sh” con lo que solo nos quedaría editarnos un fichero “crontab.txt” parecido a:

SHELL=/bin/bash

#h m dom mon dow command

35 0,12 * * * ~/scripts/dbback.sh

Y por último instalamos el fichero crontab recien creado con

crontab crontab.txt

Espero que os sea de ayuda.