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.