Automatizar los backups de nuestra base de datos
Publicado por gustavo - 13/01/08 a las 07:01:04 pmUtilizando el poder divino que nos brindan nuestros viejos amigos BASH y CRON, aprenderemos como automatizar en uno simples pasos una de las tareas mas tediosas con las que puede contar un administrador: LOS BACKUPS!
1. Creamos un archivo del tipo backupdb.sh (Extensión sh = Shell Script), copiamos y pegamos el siguiente código. Configurar con nuestros datos.
[CODE]
# DEFINIR VARIABLES
DBNOMBRE=mibasededatos
DBPASSWORD=mipassword
DBUSUARIO=miusuario
EMAIL=”mi@email.com”
mysqldump –opt -u$DBUSUARIO -p$DBPASSWORD $DBNOMBRE > backup.sql
gzip backup.sql
FECHA=`date “+%Y-%m-%d”` ; mv backup.sql.gz $DBNOMBRE-backup-$FECHA.sql.gz
echo “La copia de seguridad ha sido creada de forma exitosa. Base de datos: $DBNOMBRE Fecha: $FECHA” | mutt -a $DBNOMBRE-backup-$FECHA.sql.gz $EMAIL -s “Mi sitio X: Backup del dia: $FECHA”
rm $DBNOMBRE-backup-$FECHA.sql.gz
[/CODE]
2. Abrimos el ftp. Una vez logeados, subimos en el directorio /etc de nuestro root el archivo anteriormente creado. Importante: si no asignamos permisos de ejecución el script no funcionara.

3. Entramos en nuestro Cpanel. Cron jobs -> Seleccionar: [Modo Avanzado]. Configuramos el script para que se ejecute todo los días a las 12:30 PM

Resultado Final:
Asunto: Mi sitio X: Backup del día: 2008-01-13
De: XXX@ServidorX
Cuerpo del mensaje: La copia de seguridad ha sido creada de forma exitosa. Base de datos: tu_base_de_datos Fecha: 2008-01-13
Archivo adjunto: tu_base_de_datos-backup-2008-01-13.sql.gz
Tip: Para saber la hora en la que esta configurada el servidor, creamos un archivo del tipo hora.php y le pegamos el siguiente código:
[PHP]
< ?php
echo date('h:i:s');
?>
[/PHP]