Cómo hacer copias de seguridad MySQL con AutoMySQLBackup

AplicacionesLinuxMySQL

Vamos a ver cómo puedes utilizar el script AutoMySQLBackup para hacer copias de seguridad de tus bases de datos MySQL. AutoMySQLBackup te permite crear copias de seguridad en determinados intervalos, ya sea semanalmente, diariamente, mensualmente o cada ciertos días. También te permite enviar las copias de seguridad por email para almacernarlas en otro lugar, por si le ocurre algo al servidor.

La rotación y el almacenamiento externo también te permiten ahorrar un valioso espacio en el disco duro. Vamos a ver cómo instalar y utilizar AutoMySQLBackup.

Cómo instalar AutoMySQLBackup

Lo primero que necesitas hacer es descargar AutoMySQLBackup. Puedes descargarlo desde aquí. El archivo se descargará en formato .tar.gz en tu ordenador. Para instalar AutoMySQLBackup sigue estos pasos:

  1. Sube el archivo descargado a tu servidor. Puedes hacerlo por SSH, FTP o SFTP. Dependiendo de tu panel de hosting, si es que utilizas alguno, también lo podrás subir por medio del explorador de archivo, si existe.
  2. Accede a tu servidor mediante SSH y sitúate en el directorio al que has subido el archivo .tar.gz.
  3. Necesitas extraer los contenidos del archivo .tar.gz, para hacerlo utiliza este comando:
    tar xvzf automysqlbackup-v3.0_rc6.tar.gz

    Aunque puedes extraer el archivo en el directorio de trabajo, es recomendable que lo descomprimas en una carpeta. Si existe una nueva versión del script, puede que su nombre sea diferente.

  4. Ahora debes instalar el script con este comando:
    ./install.sh
  5. Se iniciará el instalador, en el que se te preguntará por el directorio en el que quieres guardar los archivos de configuración Select the global configuration directory. Puedes escoger cualquier carpeta. Si no sabes cuál, escoge una que esté dentro de tu directorio de usuario, dentro de /home/.
  6. Luego se te preguntará por la carpeta en la que quieres guardar el ejecutable de AutoMySQLBackup Select directory for the executable. Lo ideal es escoger un directorio que esté agregado al PATH del sistema. De no ser así, es recomendable que lo agregues para así poder ejecutar AutoMySQLBackup directamente como un comando, sin incluir la ruta completa hacia el archivo.

Ya has completado la instalación. Si durante el proceso se muestra un error el que se dice que el el archivo ya existe y se muestra este mensaje: Convert? [Y/n], introduce n y continúa con la instalación.

Cómo configurar AutoMySQLBackup

Una vez hayas instalado AutoMySQLBackup, ha llegado el momento de configurarlo. Para hacerlo, accede a tu servidor mediante SSH y sigue estos pasos:

  1. Accede al directorio de configuración que has establecido durante la instalación y usa un editor de texto como nano o vim para editar el archivo myserver.conf.
    nano myserver.conf
  2. Para configurar las opciones básicas de backup, elimina el símbolo #, utilizado para comentar la línea, del inicio de estas líneas.
    CONFIG_mysql_dump_username='usuario'
    CONFIG_mysql_dump_password='contraseña'
    CONFIG_backup_dir='/home/username/backups'

    Debes reemplazar usuario por tu nombre de usuario y contraseña por tus datos de acceso, así como modificar la última línea para configurar el directorio en el que quieres que se almacenen las copias de seguridad. Asegúrate de que este directorio existe, ya que AutoMySQLBackup no lo creará si no lo encuentra.

  3. Por defecto, AutoMySQLBackup creará copias de seguridad de todas las bases de datos existentes. Para especificar las bases de datos de datos de las cuales quieres crear una copia de seguridad o backup, elimina el comentario (#) de la siguiente línea y agrega el nombre de las bases de datos.
    CONFIG_db_names=()
  4. Para especificar los intervalos de las copias de seguridad, elimina el comentario (#) del inicio de las siguientes líneas y estable los valores que más te convengan.
    CONFIG_rotation_daily=7
    CONFIG_rotation_weekly=30
    CONFIG_rotation_monthly=100
  5. Para guardar los cambios, si estás usando nano, pulsa Ctrl + X y escribe y cuando se te pregunte si deseas guardar los cambios.

Si quieres, también puedes enviar las copias de seguridad a una cuenta de email. Para ello, debes eliminar el comentario (#) de las siguientes líneas del archivo anterior (myserver.conf):

CONFIG_mailcontent='files'
CONFIG_mail_use_uuencoded_attachments='yes'
CONFIG_mail_address='user@example.com'

Debes reemplazar user@example.com por la dirección de email a la que quieres que se envíen las copias de seguridad. AutoMySQLBackup usa la aplicación mail para esta tarea, por lo que si no recibes los correos, es importante que te asegures de que está habilitada. Por otro lado, también te recomendamos que no envíes las copias de seguridad a una dirección interna del servidor por si ocurre algún problema con el mismo.

Cómo ejecutar AutoMySQLBackup

Tras instalar y configurar AutoMySQLBackup, podrás ejecutar el script manualmente del siguiente modo, reemplazando ruta por la ruta de directorios hasta el sarchivo:

automysqlbackup "ruta/myserver.conf"

También podrás automatizar el proceso para que se creen copias de seguridad automáticamente si creas un cron job con el siguiente comando:

/ruta-automysqlbackup/automysqlbackup "ruta/myserver.conf"

Debes reemplazar ruta-automysqlbackup por la estructura de directorios hasta el archivo ejecutable de AutoMySQLBackup, y ruta por la estructura de directorios hasta el archivo de configuración.

Para editar el cron, puedes usar este comando:

crontab -e

Por ejemplo, si quieres que el script se ejecute todos los lunes a las 2 de la madrugada, debes agregar esta línea:

0 2 * * 1 /usr/bin/mysqldump -u usuario -p 'contraseña' base_de_datos > /home/backup.sql

Guarda el archivo y ya estará el cron job creado.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”