Autobackup de la base de datos

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.

4 Responses to “Autobackup de la base de datos”

  1. Titiritero dice:

    Biennn, puedo ver el blog y dejar comentarios. Me parece fatal que un hosting que hace pagar a sus usuarios le den un servicio así.

  2. Titiritero dice:

    El comando mutt ese puede resultar muy útil. Gracias ingrato.

  3. Alfredo dice:

    Vaya, has tardado en encontrarle la utilidad

Leave a Reply


5 + = 12