I am using this script:

Code
#!/bin/sh
CDATE=`date '+%d'`

mysqldump -uusername -ppassword database > /home/backup/database.sql
tar czvf /home/backup/database.tar.gz /home/backup/database.sql
cp /home/backup/database.tar.gz /home/backup/databases/database-${CDATE}.tar.gz
This generates 1 month of database backups in the /home/backup directory. I am additionally using rsync to mirror the backup directory on my second server.