Vamos a ver los pasos correspondientes para aprender a programar copias de seguridad o backups de nuestra base de datos MySQL o MariaDb mediante un cron tras unos pasos muy simples.
Para empezar tenemos que acceder por ssh a nuestro servidor/vps o como root si estamos en localhost y entrar en nuestro fichero cron con el siguiente comando (o con otro editor como vim si lo preferimos):
1 |
nano /etc/crontab |
Una vez dentro del archivo del cron, deberemos de crear el cron estableciendo el periodo deseado, para lo cual podemos copiar y pegar uno de los siguientes ejemplo o modificarlos dentro del texto del cron:
1 |
30 4 * * * root mysqldump -u USUARIO -pCLAVE --all-databases | gzip > /backups/$(date +%Y/%m/%d).sql.gz |
1 |
30 4 15 * * root mysqldump -u USUARIO -pCLAVE --all-databases | gzip > /backups/$(date +%Y/%m/%d).sql.gz |
Pd. las copias de seguridad se volcaran con la siguiente estructura "backups/año/mes" y el fichero de copia se guardara con el nombre "dia.sql.gz" (Se puede editar en el texto anterior).
Ahora tenemos que reiniciar el cron, para lo cual podremos emplear cualquiera e los siguientes comandos:
1 2 3 |
/etc/init.d/cron restart service cron restart service crontab restart |
Un posible error o fallo a tener en cuenta es que la carpeta en la que se vuelca la copia de seguridad puede no tener permisos de escritura, lo cual solucionaremos con (Se recomienda dar permisos de 700 o 750 para la carpeta):
1 |
chmod 700 /backups |
Pd. Si editamos la carpeta de las copias de seguridad deberemos de cambiar el destino por el seleccionado anteriormente.