Automated database backups using cron jobs
There are two ways to run cron jobs that back up a MySQL database. You can either include MySQL login information in the cron job command itself, or you can use a configuration file to store the MySQL login information.Method #1: Include MySQL login information in the cron job command
You can run scheduled backups of a MySQL database by creating a cron job that runs the following command:Method #2: Use a configuration file to store MySQL login information
Alternatively, you can create a configuration file in your home directory that stores MySQL login information. Using this method, you do not have to include login information in your cron job commands. To do this, follow these steps:-
Create a file named .my.cnf in your /home/ username directory, replacing username with your account username.
🚧 Important Make sure you include the leading . in the filename.
-
Copy and paste the following text into the .my.cnf file. Replace dbusername with the database user and replace dbpassword with the database user’s password:
-
Create a cron job that runs the following command. Replace dbname with the name of the database to back up, and replace path with the path to store the backup file. This example uses backup.sql for the backup’s filename, but you can use any filename you want:
👍 Tip When the command runs successfully, no output is generated. However, if there is an error or misconfiguration, depending on your account configuration you may receive an e-mail message that contains the command output. To suppress e-mail messages when the command fails, add the following text to the end of the cron job command:
Most people, however, want to be notified when a cron job fails.