Archive a MySQL database
chadr: Here is what I do with mysql 5.1 and my innodb tables on Linux...mysqldump --single-transaction --skip-lock-tables --all-databases | gzip > "/some/directory/backup-`hostname`-hourly-`date +%H`.sql.gz"These two options are important: --single-transaction and --skip-lock-tables.  At least in mysql 5.1, mysqldump defaults to locking each table before dumping it (not good if you have a busy app and large db).I run the above in a cron once per hour.  It gives me 24 hours worth of hourly backups.  I then use rsnapshot (http://www.rsnapshot.org/) to store daily, weekly, and monthly backups offsite.I also run my backups with a low priority (nice -n 19) so that my application gets higher priority than the backup script.