script backup mysqldump en linux mediante crontab
- junio 14, 2010
- No hay comentarios
- Linux Tags: mysql, seguridad, tutoriales
Si queréis hacer un shell script automático para que genere backups de la base de datos de vuestros proyectos, voy a indicar un script que funciona mediante un crontab y el comando mysqldump y que a mi me ha dado muy buenos resultados.
Lo he probado en un servidor CentOS y freeBSD, a lo mejor tendréis que cambiar los path de los archivos binarios.
Voy a explicar la idea de este script backup, básicamente se genera cada día mediante un crontab o cronjob, y se guarda con el nombre del día actual en inglés, imaginemos que hoy es lunes, pues monday. El backup de la base de datos se sacaría con el comando mysqldump, y nos resultaría un archivo llamado BackupMonday.sql.gz
Previamente el script borra lo que haya con nombre BackupMonday.sql.gz de manera que sobrescribe lo que se haya generado en la base de datos de la semana anterior.
Por último aplicamos permisos 777 o 755 para que la próxima vez que se genere el script se pueda borrar el archivo BackupMonday.sql.gz
De esta manera tendríamos un backup semanal de nuestra base de datos y automáticamente se iría sobrescribiendo para que siempre estuviera actualizado.
El siguiente fragmento es un shell script sh que ejecuta el mysqldump haciendo el backup de la base de datos que he comentado anteriormente.
Le aplicamos un gzip para el resultado del backup ya esté comprimido
El nombre del scrip lo guardaremos y lo llamaremos de la siguiente manera:
/path_proyecto/proyecto/shell_scripts/backups.sh
# EJEMPLO BACKUP BASE DE DATOS bin/rm /path_proyecto/proyecto/backups/core/BackupCore`date "+%A"`.sql.gz /usr/bin/mysqldump -u USUARIO --password=PASSWORD -a --host=localhost BASE_DE_DATOS | gzip -9 > /path_proyecto/proyecto/backups/core/BackupCore`date "+%A"`.sql.gz chmod 777 /path_proyecto/proyecto/backups/core/BackupCore`date "+%A"`.sql.gz # añadir más bases de datos si se desea
Comprobamos los crontab que hay configuramos.
crontab -l
Entramos en modo de edición el crontab
crontab -e
Insertamos en el crontab la ejecución del backup.sh para que se ejecute cada día a medianoche y listo!
0 0 * * * sh /path_proyecto/proyecto/shell_scripts/backups.sh
Tags de búsquedas:
mysqldump, mysqldump script, mysqldump linux, script mysqldump, script backup linux, script mysqldump backup, script bacup, script backup, mysqldump backup --procedure, backups linux modificar crontab
Posts Relacionados:
- Restaurar backup Android en HTC Magic con Clockworkmode Para los que hayáis leído el artículo sobre Actualizar Android 2.2 en HTC Magic 1.6 se me olvidó comentar como restaurar un backup en caso de que todo haya salido...
- Como sincronizar archivos y directorios en un Apache En este post voy a comentar lo que he aprendido del comando Rsyn. El caso es que necesitaba sincronizar el contenido de una carpeta tanto los directorios como los archivos...
- comprobar si existe un fichero con php y linux Se puede comprobar si un fichero existe en linux con el siguiente comando: [ -e /path/completo/a_mi_archivo ] && echo "El fichero existe" || echo "El fichero no existe" Posibles parámetros...
- Descargar un sitio web completo desde consola con linux Como descargar un sitio web completo con linux, puf pues con un simple comando te descargar una web en un rato. Es un “hackeo” importante porque te puedes descargar su...
- Apuntes de linux. Iptables Firewall de linux IPTABLES, una herramienta de cortafuegos que permite no solamente filtrar paquetes, sino también realizar traducción de direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto Netfilter...

RSS Feed