## This easy-to-use-utility will store your entire database to a raw text file located in your cache directory entirely through php.
## If your host allows you to execute system commands through exec(), then this backup file will also be compressed. The
## advantage of this is that it almost completely avoids corruption of a large backup, as what usually happens with most
## browser-based back-up routines (like in phpmyadmin), which try to send all the data through your browser. By storing the
## file on the server, this avoids the database - browser streaming error, which even occurs with compressed back-ups (since
## it all occurs on the fly). Once back-up files are created you then use the more secure method of transferring a large file
## through ftp - even if the back-up is a raw file, it is very much less likely to contain errors transferred through ftp than a
## back-up file compressed on-the-fly through the browser!
##
## There is just one file: eezydump.php
## Place it in your root directory and away you go. You have to be logged in as admin to run it!
##
## Compatibility: Basically anything that is phpbb based (may need to create a cache directory with chmod 777). I've written
## it to back up a couple of phpBBXS and icyphoenix based sites - it reads the config.php file in order to access the database.
## Rather than using a pre-defined database schema, it scans the database for tables, so it doesn't matter if you've added mods -
## it will find all the tables and fields and back them all up.
##
## Version: 0.0.1 - Alpha release - 20/03/08
##
Important note - cache directory & htaccess
If you are using the latest version of icy, you will need to modify the htaccess file, since this currently block any access to the file (so once the backup is created, you can't download / access it). Since the cache directory is effectively protected by the index file, and the htaccess file in the root, you can simply delete the cache .htaccess file. However, if you want peice of mind, you could change it from:
<Files *>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>
Where xxx.xxx.xxx.xxx is your IP address
*Edit* Blocking all and allowing your own IP still will not allow you to download the file.
Much better to do this:
remove everything in the htaccess file and replace with
It prevents directory listings, so still keeps your data safe.
Demos: The next Version of this script can be seen in action Here
Usage: Just a single click: "Export" and your entire database will be exported to a file. You do have some more control - you can deselect the default options like Drop table statement, Create table statement and Table data. After backup is created, you will be told of its time-stamped filename as shown here:

If you are on a server where the php system exec() command is enabled, you will also get a zipped file:

Some of you will no doubt have much much much bigger databases than me (7 MB), so I'll be keen to know if this copes well.
Ideas for a possible next version (maybe / maybe not implemented - script already does what I want it to do):
1. Either displaying file names as a link so you can click on them and download them via your browser, or refreshing browser and getting browser to automatically bring up the save prompt. This may seem strange after harping on about how much better it is to do via ftp - but since the data exists in a file of defined size, rather than a stream of outputs from sql, the data should still be of high integrity.
2. Adding a random alpha-numeric string to the filename to take it from being damn-near impossible for an outsider to guess the filename, to more impossible than an Islamic pope.
Final point - even though it is highly unlikely that anybody will be able to guess the exact time and date, and even the name of your database, in order to guess the back-up filename, it is better to be safe than sorry and delete your backups in the cache directory after transferring/downloading them.