Back: 1/2 of U.K. Men Would Give Up Sex For A TV?!?
Forward: What is Soju and How Does it Affect an Entrecard (Ab)user’s Life
DIY Linux Web Server HACK - Automate your MySQL MySQL database backups
Okay, I’ve been running dedicated servers for couple years now and I used to mess around with Linux boxes back in college.
Here’s an essential automatic script and a cron job you will need in order to keep your backup automatic.
Yes, if you get a dedicated server, don’t get their stupid extra $15/month for backing up your database. (All they do is make scripts like this one and charge you for it)
You can follow this example and go spend that money on junk food.
So all you have to do is FTP your backup files.
This is way better than going into your phpMyAdmin and downloading from the web interface since the file is already ready for you to download.
Here’s how you do it:
1) Make a new file called backup.sh in your home directory. 2) Use the following syntax:
mysqldump -u[USERNAME] -p[PASSWORD] –opt [DATABASE NAME] > /root/backup/DATABASE1.sql
Here’s an example backup.sh file if you had 2 databases:
mysqldump -uUser1 -pPassword1 --opt Database1 > /root/backup/Database1.sql mysqldump -uUser2 -pPassword2 --opt Database2 > /root/backup/Database2.sql tar cvf /root/backup/sqlbackup.tar /root/backup/*
You can test your script by typing this:
sh backup.sh
(The mysqldump will overwrite the older file if you run this more than once)
3) If everything is working good, now you can put that script to be run once a day in your cron job.
For Fedora Core, you can edit this file /etc/cron.d/sa-update
Add the following line:
10 3 * * * root sh /root/backup/backup.sh
This will execute the script once a day at 3:10AM.
Now simply download one tar ball file whenever you feel like backing up your database.
You can probably change this a little bit and use it for many other things like backing up all your files too. (which I do)
If you have multiple servers like me, you can also automate your scripts to download backup databases to each server. That keeps things real redundant in case of server failure.
Related posts
If you like this post then please subscribe to my full feed RSS. You can also subscribe by Email.
Got a new hack, DIY, howto, or gadget? Tip us here.
Search for a Hack:
Bookmark It!
|Digg it |SiteHoppin |Wagg It | TrackBack
Email this to a Friend
Email This Post


























Very useful script. Thanks.
http://packratstudios.com
glad it helped!
To further automate the process of backing up, you should set up a LOCAL cron job that downloads the file to your computer.
Which is just as easy…. all ya do fetch the remote file:
wget ftp://Username:Password@www.yoursite.com/backup/sqlbackup.tar
true, that’s if you are using Linux…wait a minute, why am i not using linux!?!
Cool script.
I’ve always used a software product to backup my DBs - it was something like database backup generator.
You set it to run daily and it’ll back up, email you a download link, and also store as many backups as you need.
The thing I liked was that you could restore the DB with one click from the admin panel.
Craig