script backup mysqldump en linux mediante crontab
- junio 14, 2010
- 1 comentario/s
- 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 crontab, script copia seguridad linux, scipt para backup por fecha, como creo un gzip en cron, android mysqldump
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...
- 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...
- Seguridad en Linux. Instalar chkrootkit Un rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a sí misma y esconder otros programas, procesos, archivos, directorios, claves de registro, y puertos...
- comprobar si existe un fichero con php y linux Se puede comprobar si un fichero existe en linux con el siguiente comando: Posibles parámetros para este comando: *-e: Devuelve el valor verdadero si el archivo existe *-f: Devolver valor...

Te ha ayudado el artículo? Colabora!
RSS Feed
Hice pruebas con el script en un centos 5.7, funcionando sin problemas.
Saludos