Cron Jobs - setting one up to back up database ? - Posted (4075 Views)
Average Member
Webbo
Posts: 982
982
Is there a simple to follow guide that explains how to set up a Cron job using SSH on a Linux server to back up a MySQL database on a daily basis and email me to confirm if successful or not?

I've found several which seem to be very long winded and often over my head
 Sort direction, for dates DESC means newest first  
 Page size 
Posted
Forum Admin
HuwR
Posts: 20611
20611
it shouldn't be too longwinded. I assume you wish to execute a local script to back up a hosted db?
what flavour of Linux is your client machine ?
Posted
Average Member
Webbo
Posts: 982
982
Hi Huw, CentOS6 x86_64 and yes, a local to hosted

I use MySQL Workbench 6.3 and at the moment am doing it manually
Posted
Forum Admin
HuwR
Posts: 20611
20611
Ok, I will post something for you later today smile
Posted
Forum Admin
HuwR
Posts: 20611
20611
basically you can connect via ssh and backup your database from the command line using something like the following, it should backup your database to your local machine, just change the necessary values

ssh -C remoteuser@remote_host mysqldump -u MYSQL_USER -p'MYSQL_PASSWORD' YOUR_DATABASE | gzip -c | cat > ~/backup.sql.gz

you then need to add a cron job, probably for the root user so run <b>crontab -e -u root </b>and add a line like below and save it. It will run at 6am every day

0 6 * * * ssh -C remoteuser@remote_host mysqldump -u MYSQL_USER -p'MYSQL_PASSWORD' YOUR_DATABASE | gzip -c | cat > ~/backup.sql.gz

change the cron string 0 6 * * * to suit your needs as below

•Crontab Format:
MIN HOUR DOM MON DOW CMD
•Format Meanings and Allowed Value:
•MIN Minute field 0 to 59
•HOUR Hour field 0 to 23
•DOM Day of Month 1-31
•MON Month field 1-12
•DOW Day Of Week 0-6
•CMD Command Any command to be executed.


Posted
Average Member
Webbo
Posts: 982
982
Thanks Huw, I'll have a go at setting it up later tomorrow
 
You Must enter a message