This article describes how to set up a cron job that automatically backs up a MySQL database to a file at specific intervals.
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.
You can run scheduled backups of a MySQL database by creating a cron job that runs the following command:
/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql
Replace dbusername with the database user, dbpassword with the database user's password, dbname with the database to back up, and path with the path where you want to store the backup file. This example uses backup.sql for the backup's filename, but you can use any filename you want.
2>/dev/null
Most people, however, want to be notified when a cron job fails.
For information about how to use cPanel to create a cron job, please see this article.
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:
[client] user = dbusername password = "dbpassword" host = localhost
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:
/usr/bin/mysqldump --routines dbname > /path/backup.sql
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:
2>/dev/null
Most people, however, want to be notified when a cron job fails.
For information about how to use cPanel to create a cron job, please see this article.
For more information about the mysqldump program, please visit http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.
Subscribe to receive weekly cutting edge tips, strategies, and news you need to grow your web business.
No charge. Unsubscribe anytime.
Did you find this article helpful? Then you'll love our support. Experience the A2 Hosting difference today and get a pre-secured, pre-optimized website. Check out our web hosting plans today.
We use cookies to personalize the website for you and to analyze the use of our website. You consent to this by clicking on "I consent" or by continuing your use of this website. Further information about cookies can be found in our Privacy Policy.