Difference between revisions of "Automate MySQL Database Backup via Cronjob"
Docs admin (talk | contribs) |
Docs admin (talk | contribs) |
||
Line 1: | Line 1: | ||
Automating a MySQL Database backup in cPanel will take a few minutes of work, but only needs to be set up once. | Automating a MySQL Database backup in cPanel will take a few minutes of work, but only needs to be set up once. | ||
<br> | <br> | ||
− | {{warning|The backup cron will continue to create backup files until your disk space is completely filled up. <br>In order to prevent this, | + | {{warning|The backup cron will continue to create backup files until your disk space is completely filled up. <br>In order to prevent this, you will create a logrotate file as well as another cronjob entry to automatically rotate out the older backups, to keep disk space down.}} |
<br><br> | <br><br> | ||
Line 28: | Line 28: | ||
This will create a sql file in your /home/cpanelusername directory with a name similar to mydatabase_20180101.sql. | This will create a sql file in your /home/cpanelusername directory with a name similar to mydatabase_20180101.sql. | ||
<br><br> | <br><br> | ||
− | == | + | |
+ | ==Create the Log rotation config file== | ||
+ | |||
+ | ==Set up the Log Rotation Cronjob== |
Revision as of 12:23, 6 June 2018
Automating a MySQL Database backup in cPanel will take a few minutes of work, but only needs to be set up once.
In order to prevent this, you will create a logrotate file as well as another cronjob entry to automatically rotate out the older backups, to keep disk space down.
Create the Backup cron in cPanel
1) Log into your cPanel
2) Go to Advanced -> Cron Jobs
3) Enter the email you wish to email the results of the cron job to.
4) Scroll down a bit, and either select a common setting (Once a day, once a week, etc) from the drop down. or enter a custom entry for days, weeks, months, etc.
5) For the command to run, enter the following command. Replace CPANELUSERNAME with your cpanel username. Replace DBUSERNAME with your database username. Replace PASSWORD with the database password, and CPANELUSERNAME with your cPanel username.
date=`date -I`; /usr/bin/mysqldump -uDBUSERNAME -pPASSWORD dbname > /home/CPANELUSERNAME/dbname$date.sql
For
date=`date -I`; /usr/bin/mysqldump -umyusername -pmypassword mydatabase > /home/example/mydatabase_$date.sql
This will create a sql file in your /home/cpanelusername directory with a name similar to mydatabase_20180101.sql.