Here is a script I quickly wrote to mysqldump a single database and keep 7 days worth of backups.
#!/bin/bash
# Script – mysqlbackup.sh
# Created by Jordansphere – 20/Jun/13
DATADIR=”/home/mysqlbackups”
USERNAME=username
PASSWORD=password
NOW=$(date +”%d-%m-%Y”)
#BACKUP DATABASE in date format (eg “MyDatabase-20-6-2013.sql”)
/usr/bin/mysqldump -u $USERNAME -p$PASSWORD –databases MyDatabase > /home/mysqlbackups/MyDatabase.$NOW.sql
# REMOVE BACKUPS MORE THAN 1 WEEK OLD – This removes all files in the directory older than a week, so be careful!!
find /home/mysqlbackups/* -mtime +7 -exec rm {} \;
Im sure there are other ways to skin this but I only wrote it in under 5 minutes.
Now all we have to do is put the script in the crontab:
0 2 * * * root /data/bin/mysqlbackup.sh