Skip to content

AutoMySQLBackup para copias de seguridad MySQL

¿Qué es lo que hace este script?

Cada día se ejecutará AutoMySQLBackup (si se ha instalado en /etc/cron.daily) y usando mysqldump y gzip hará un volcado de las bases de datos especificadas al directorio /backups/daily, cada semana rotará las copias de seguridad diarias así que no deberías tener más de 7 copias de seguridad aquí.

Cada sábado AutoMySQLBackup hará de nuevo una copia de seguridad de las base de datos que hayas elegido pero estas se guardarán en /backups/weekly, y serán rotadas cada 5 semanas, por lo que aquí nunca debería haber más de 5 copias de seguridad.

El primer día de cada mes AutoMySQLBackup creará una copia de seguridad de todas las bases de datos y la pondrá en /backups/monthly. Estas nunca serán rotadas por lo que tú serás el responsable de mantener este directorio en orden. Te sugiero realizar una copia de esta carpeta a tu disco duro local cada mes para que puedas restaurar tus bases de datos si tienes algún fallo en el disco duro del servidor (aunque quizás te interese descargar la carpeta semanal o diaria, depende de la frecuencia de actualización de tu web).

¿Cómo se usa?

  1. Descargar el script AutoMySQLBackup.
  2. Configurar los parámetros necesarios (usuario, contraseña, servidor, ruta de la carpeta para las copias de seguridad, etc…).
  3. Dar al archivo los permisos necesarios para que se pueda ejecutar: chmod u+rwx
  4. Crear la carpeta donde queremos almacenar las copias de las bases de datos, p. ej.: /backups (la que el script nos propone en la configuración inicial).
  5. Podemos ejecutar el script con ./automysqlbackup.sh para comprobar que funciona correctamente (nos mostrará el resultado en pantalla).
  6. Para que se ejecute diariamente de manera automática podemos mover el archivo a la ruta: /etc/cron.daily
Published inDesarrollo

5 Comments

  1. Eduardo Eduardo

    Muy buena.
    algunas modifcaciones para mi gusto..
    como conectarlo a través de ssh a otro servidor para que copie los backups que va realizando usando comando rsync.

    • Samuel Samuel

      La modificación que propones es interesante, la has implementado?

  2. jjuarez jjuarez

    Holan Muy interesante el comentario, yo lo hago diariamente, hoy me salio esto,le paso ha alguien el siguiente problema.
    mysqldump: Got error: 1044: Acceso negado para usuario: ‘root’@’localhost’ para la base de datos ‘information_schema’ when using LOCK TABLES

  3. elmaco elmaco

    A mi me paso, lo arregle cambiando así esta linea:

    CONFIG_mysql_dump_single_transaction=’yes’

  4. Jose Ramos Jose Ramos

    Les comento, llevo rato implementandolo. Lo que hago para pasar las carpetas a otra computadora y tener el respaldo mucho mas seguro, es utilizar dropbox. Cambie la ruta a la carpeta de dropbox y automaticamente tengo mi respaldo en la nube y en cualquier equipo que sincornize a este programa. Saludos

Leave a Reply to Samuel Cancel reply

Your email address will not be published. Required fields are marked *