MySQL Backup is a Perl script that uses mysqlshow
to grab the database names and "show tables" to
grab the table names for a user's account, and
then uses mysqldump to save the data in a
subdirectory named in the script. It then tars and
gzips the files, using the date and time for the
file name. It can be run from cron on a daily
basis. It removes old files and has an option to
email the gzip file to an admin, and/or FTP the
file to a remote server. It also has options to
use "select data into outfile" or a regular
"select" for users who can't use mysqldump. It
supports LARGE sets of databases and tables.