Porque recientemente estaba configurando copias de seguridad para NextCloud Por ejemplo, pensé que sería una buena idea escribir un tutorial adicional sobre cómo hacer un MySQLdump sin contraseña en Cronjob. El problema con los volcados de MySQL es que si ejecuta el comando sin proporcionar un archivo de contraseña, siempre le pedirá que ingrese su contraseña. Esto sería difícil si desea ejecutar ese comando en un Cronjob .
El proceso es bastante rápido y fácil, así que lo guiaré a través de cada paso.
Paso 1:creación/edición del archivo my.cnf
En algunos casos, este archivo ya está en su lugar, si no, simplemente créelo.
sudo nano ~/.my.cnf
Y ahora simplemente pegue las siguientes líneas, ajustándolas para que contengan su nombre de usuario y contraseña, por supuesto.
[mysqldump] user = mysqluser password = yourpassword
En caso de que el archivo ya exista y tenga datos, simplemente pegue esas 3 líneas justo debajo.
Paso 2 - Ajuste de permisos
Ahora tenemos que ajustar los permisos.
chmod 600 ~/.my.cnf
Paso 3 - Creando el Cronjob
Ahora vamos a crear el Cronjob. Si desea aprender los conceptos básicos de cómo funcionan los Cronjobs, consulte mi tutorial completo en él.
Para editar el archivo Crontab, ejecute:
crontab -e
Y para realizar el volcado de MySQL todos los días a las 21:00, agregue la siguiente línea en la parte inferior. Para aprender cómo funcionan los tiempos, consulte mi otro tutorial.
0 21 * * * mysqldump -u mysqluser -h localhost – all-databases | gzip -9 > mysqldbbackup.sql.gz > /dev/null
Paso 4 (opcional):ejecutar manualmente el volcado de MySQL
Si desea ejecutar MySQL Dump directamente, simplemente ejecute:
mysqldump – single-transaction -h localhost -u mysqluser > /usr/share/mysqlbackups/mysqldbbackup.sql
Y ahí lo tienes. Así es como ejecuta MySQLdump sin contraseña en Cronjob.