- will backup any number of databases (data and structure)
- backup all or selected tables in the database
- gzips the output files
- allows you to download individual backup files or all backups bundled in a zip archive
- optionally optimize tables in the databases
- deletes old backup files from the server when new backups are created
- eliminates transfering the backups to your PC using an FTP client or worse, excruciatingly slow transfer via email attachments
- has an HTMl user guide
- And it is free!
There are many database backup scripts available on the web. But all I found either require you to use FTP to download the file or email it to you. I don't want the extra steps of launching my FTP program, nor do I want my mail transfer slowed down by very large file attachments. I just want to click one bookmark on my browser tool bar each morning to download all backup files. So I wrote this script. Although the script can be executed via your browser, it is really designed to be executed as a cron job.
I use it on two servers for daily backups. One server has two databases. The other has 5 databases. Before this script, doing backups was a PITA and I did backups irregularly. Now doing and downloading daily backups is a breeze.
Read the user guide.
Download
(downloaded times)
Requirements:
- PHP 4.3 or higher on your web server
- MySQL 3.23 or higher on your web server
- The PHP system() command must be enabled on your web server. If your web host has disabled it, the script will not work.
Use the forums for support questions. Enter other comments below.
excellent script thank you
hi testing 
yes
hi 
Hello,
First of all thanks for this wonderful script! It was so nice of you to create a nice script which i am sure many programmers out there are looking for!
Well, it works fine when i run it on browser. But... some how it did not run on CronJobs. Its giving me error message that "No input file specified".
Could you please give little bit more details on how to use it on CronJobs, i mean why i am getting that message when it runs fine on browsers?
Sincerely,
Jesse
testing.. nice 
It's licensed under the terms of the GNU General Public License, June 1991. So you can modify and redistribute it.
Thanks for your answer. My modification is at:
jsgears.com (It's in Chinese.)
I use PHPMailer to send out the backup file. If you ever need the revision, please let me know. Thanks.
Hi, Old Guy,
Thanks for the helpful script. I can not found the license of this script. So I'm wondering if I can modify it and re-distribute the script, of course the original copyrights in top of the script is still there.
$query = explode('-',$_SERVER['QUERY_STRING']);
were did we build the query string before exploding it?
invalid or missing dbid argument in the query string: ?
I have a blank query string, so nothing get backed up.
Thanks
Thank you sooooo much for this script, it has been a life saver since i started to use it to backup our forums database.
It's been quite easy to configure although it took me 30 seconds to realize what you mean by dbid parameter.
How about a restore (import) script?
I thought for 2 seconds about an import and decided it just wasn't worth spending the time. It would be used rarely and the phpMyAdmin import is easy to do.
Hi.
I download this script and am having problems configuring it. I have configure the database part and when i run it, it says "Unexpected T_string in line 8". I am using PHP 5.2.5 and mysql 5. Thanks for any help
Drakeb
Check line 7. The variabe definition should end with: ';
If that is not the problem please post a message in the support forum or email me...I don't want these comments to become cluttered with support questions.
Hi, a quick comment to say thank you for your script.
I tried a couple of scripts before this one -
I found it extremely well documented and very easy to follow.
I only had to do a few modifications to suit my set up.
one modification was to add a unique name for each database. Since I work with a hostprovider. The host provider wants my account name on each database. Consequence: the script deletes all the backups, of all databases, every time it runs.
the other modification I did was to change the delete routine to delete backups older than thirty days and not more.
Thanks again keep up the good work.