Cómo crear respaldos programados en la nube de tu base de datos con webmin
Published: 2022-01-12 23:52:21

Hola! El procedimiento para crear un respaldo programado en la nube con webmin se divide en los siguientes pasos:

Configuración e instalación de la herramienta por línea de comandos de mega (megatools)
Configuración de webmin para que acepte fechas en el nombre del archivo
Configuración de respaldos programados de la base de datos
1. Configuración e instalación de la herramienta por línea de comandos de mega (megatools)
Para instalar megatools, configurarlo con su cuenta de mega.co.nz, y saber usar ‘megaput’ y ‘megarm’  , les recomiendo seguir las instrucciones de este post. Asimismo, una vez que terminen de configurar, les recomiendo hacer un par de testeos con megaput y megarm de cualquier archivo que tengan en su servidor para probar si su configuración estuvo bien realizada.

2. Configuración de webmin para que acepte fechas en el nombre del archivo
Necesitamos otra configuración para hacer que webmin acepte ejecutar este tipo de reemplazos, de lo contrario pensará que el nombre que se coloque en nuestro archivo será ‘estático’. Para este caso usaremos el siguiente formato de fecha unix:  %Y-%m-%d . Esto deberá responder al año, mes y día respectivamente. Primero nos dirigimos a Webmin -> Servidores -> Servidor de Base de Datos MySQL. Luego arriba la izquierda encontramos un botón de configuración del módulo y lo seleccionamos para ver opciones más avanzadas. Aquí buscamos la opción Do strftime substitution of backup destinations?  Yes, y guardamos.

3.Configuración de respaldos programados de la base de datos
Para este caso lo primero que haremos será dirigirnos al panel de gestión de nuestro servidor de base de datos, que para este caso será MySQL.
Nos dirigimos entonces a Webmin-> Servidores -> Servidor de Base de Datos MySQL.

Una vez aquí, seleccionamos la base de datos de nuestro interés  y le damos a Respaldar Base de Datos. Aquí configuraremos los siguientes parámetros.

Backup destination
Seleccionamos ‘path on server’ y aquí debemos asegurarnos de indicar una ruta con parámetros basados en formato de fecha. Por lo cual nuestra ruta absoluta a colocar sería:

`/cualquier-directorio/%Y-%m-%d-mi-base-de-datos.sql.gz 
`
Other backup options
Aquí les recomiendo seleccionar la compresión por gzip. Además de ello aquí se ejecutaron los comandos para depurar y para subir a la nube de mega cada archivo de respaldo .
Command to run before backup

`rm "/cualquier-directorio/"$(date -d "$date -3 days" +"%Y-%m-%d")-mi-base-de-datos.sql.gz && megarm --config=/root/.secrets/mega.cnf "/Root/mi-carpeta-mega/"$(date -d "$date -14 days" +"%Y-%m-%d")-mi-base-de-datos.sql.gz
`
Ahora desglosaremos este comando en 2 partes:

`rm "/cualquier-directorio/"$(date -d "$date -3 days" +"%Y-%m-%d")-mi-base-de-datos.sql.gz
`

Este comando básicamente remueve al backup del servidor que sea de hace 3 días atrás, esto con la finalidad de optimizar recursos y retener menos backups.

`megarm --config=/root/.secrets/mega.cnf "/Root/mi-carpeta-mega/"$(date -d "$date -14 days" +"%Y-%m-%d")-mi-base-de-datos.sql.gz
`
Este otro comando remueve del directorio mega a todos aquellos backups que sean de hace 14 días atrás, esto porque generalmente querrás tener respaldos más antiguos en la nube.

Command to run after backup
`megaput --config=/root/.secrets/mega.cnf --path=/Root/Yaku.app/DEV/backups --disable-previews "/backups/"$(date +%Y-%m-%d)-mi-base-de-datos.sql.gz
`
Este comando se ejecuta posterior a la creación del backup en el servidor en la carpeta indicada, y su propósito es enviar el backup generado a la nube de MEGA.

Backup schedule
Send backup status email to
Aquí colocamos un correo electrónico al cual quisieramos que nos llegue la confirmación del backup
Send email for
Aquí marcaremos ‘Only on failure’ para que no nos lleguen todo el tiempo, sólo en caso falle el respaldo.
Scheduled backup enabled?
Yes, at times chosen below ..Simple schedule ..Daily(at midnight)
Una vez marcada estas opciones le damos a ‘Save’ y guardamos nuestra configuración. Si todo ha marchado correctamente, los respaldos deberían empezar a generarse y podrán visualizarlos directamente en su cuenta de Mega así como en su servidor webmin.