La forma más fácil de automatizar esta tarea sería la combinación de volcados MySQL y un cronjob. Puede encontrar mucha información sobre este tema en este y otros sitios de Internet, pero para completar:
Crear un archivo mysqldump.sh
Que contendrá el comando de volcado mysql que programaremos en un trabajo cron (reemplace usuario, contraseña y ruta para que coincida con su entorno):
mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz
Editar: si desea que el script almacene la copia de seguridad en una ubicación remota, simplemente monte el dispositivo correspondiente o comparta y use la ruta de montaje en el script.
Probar el guión
Asegúrese de que el script tenga permisos de ejecución:
chmod +x /path/to/mysqldump.sh
Ejecute el script:
sh /path/to/mysqldump.sh
Y pruebe que funciona correctamente (el archivo de copia de seguridad se creará en la carpeta de copia de seguridad especificada).
Crear y programar un nuevo trabajo cron
En un símbolo del sistema, escriba
sudo crontab -e
Y agregue la siguiente línea al final del archivo:
30 23 * * * /path/to/mysqldump.sh
Esto ejecutará el script todos los días a las 23:30.
Amplíe este script simple
Literalmente, hay muchas cosas que puede hacer para mejorar este sencillo método de copia de seguridad:
- Copia de seguridad a otro sistema
- Supervisar espacio en disco
- Informe por correo electrónico
- ...
¡Así que no termines aquí y experimenta! :-)
Utilice herramientas de respaldo o servicios de respaldo basados en la nube
Aunque el método anterior es uno de los más fáciles y puede ampliarse para satisfacer sus necesidades específicas, vale la pena mencionar que existen otras alternativas:
- herramientas de copia de seguridad como AutoMySQLBackup, una aplicación de código abierto que puede facilitar el proceso de configuración de notificaciones por correo electrónico, compresión, cifrado, rotación y tipo (por ejemplo, incremental) de sus copias de seguridad. En cuanto a Mai 2018, está disponible para Ubuntu Server a través de APT.
- servicios de copia de seguridad basados en la nube, como BackupBird, myRepono, Bitcan, etc., que pueden ser interesantes si administra varios servidores de bases de datos y desea administrar de forma centralizada todas sus copias de seguridad.
Tenga en cuenta que no estoy relacionado de ninguna manera con ninguna de las soluciones y servicios mencionados anteriormente y los enumero solo como referencia, así que úselos bajo su propio riesgo.
Enlaces / referencias útiles:
Cron -> https://en.wikipedia.org/wiki/Cron
Descarga de MySQL -> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
date +%F
: que elegirá automáticamente una combinación de año + mes + fecha adecuada para la configuración regional del usuario (por ejemplo, obtendréYYYY-MM-DD
).sudo crontab -e
y no olvide hacer que el script sea ejecutable:chmod +x /path/to/mysqldump.sh