sql >> Base de Datos >  >> RDS >> Mysql

Cómo hacer una copia de seguridad de las bases de datos MySQL usando trabajos cron

Este artículo describe cómo configurar un trabajo cron que automáticamente realiza una copia de seguridad de una base de datos MySQL en un archivo a intervalos específicos.

Copias de seguridad de base de datos automatizadas usando trabajos cron

Hay dos formas de ejecutar trabajos cron que respaldan una base de datos MySQL. Puede incluir la información de inicio de sesión de MySQL en el comando de trabajo cron o puede usar un archivo de configuración para almacenar la información de inicio de sesión de MySQL.

Método #1:Incluir información de inicio de sesión de MySQL en el comando de trabajo cron

Puede ejecutar copias de seguridad programadas de una base de datos MySQL creando un trabajo cron que ejecute el siguiente comando:

/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql

Reemplace dbusername con el usuario de la base de datos, dbpassword con la contraseña del usuario de la base de datos, dbname con la base de datos para respaldar y ruta con la ruta donde desea almacenar el archivo de respaldo. Este ejemplo usa backup.sql para el nombre de archivo de la copia de seguridad, pero puede usar cualquier nombre de archivo que desee.

  • Los caracteres de comillas simples (') alrededor de la contraseña aseguran que cualquier carácter especial se procese correctamente.
  • Cuando el comando se ejecuta correctamente, no se genera ningún resultado. Sin embargo, si hay un error o una configuración incorrecta, dependiendo de la configuración de su cuenta, puede recibir un mensaje de correo electrónico que contenga el resultado del comando. Para suprimir los mensajes de correo electrónico cuando el comando falla, agregue el siguiente texto al final del comando del trabajo cron:
    2>/dev/null

    La mayoría de las personas, sin embargo, quieren recibir una notificación cuando falla un trabajo cron.

Para obtener información sobre cómo usar cPanel para crear un trabajo cron, consulte este artículo.

Método n.º 2:utilice un archivo de configuración para almacenar la información de inicio de sesión de MySQL

Alternativamente, puede crear un archivo de configuración en su directorio de inicio que almacene la información de inicio de sesión de MySQL. Con este método, no tiene que incluir información de inicio de sesión en los comandos de su trabajo cron. Para hacer esto, siga estos pasos:

  1. Cree un archivo llamado .my.cnf en tu /casa/ directorio de nombre de usuario, reemplazando nombre de usuario con el nombre de usuario de su cuenta. Asegúrese de incluir el . inicial en el nombre del archivo.
  2. Copie y pegue el siguiente texto en .my.cnf expediente. Reemplace dbusername con el usuario de la base de datos y reemplace dbpassword con la contraseña del usuario de la base de datos:
    [client]
    user = dbusername
    password = "dbpassword"
    host = localhost
  3. Cree un trabajo cron que ejecute el siguiente comando. Reemplace dbname con el nombre de la base de datos para respaldar y reemplace ruta con la ruta para almacenar el archivo de copia de seguridad. Este ejemplo usa backup.sql para el nombre de archivo de la copia de seguridad, pero puede usar cualquier nombre de archivo que desee:

    mysqldump --routines dbname > /path/backup.sql

    Cuando el comando se ejecuta correctamente, no se genera ningún resultado. Sin embargo, si hay un error o una configuración incorrecta, dependiendo de la configuración de su cuenta, puede recibir un mensaje de correo electrónico que contenga el resultado del comando. Para suprimir los mensajes de correo electrónico cuando falla el comando, agregue el siguiente texto al final del comando del trabajo cron:

    2>/dev/null

    La mayoría de las personas, sin embargo, quieren recibir una notificación cuando falla un trabajo cron.

    Para obtener información sobre cómo usar cPanel para crear un trabajo cron, consulte este artículo.

Más Información

Para obtener más información sobre mysqldump programa, visite http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.