Automatic nightly mysql backups

I'm currently using this two script system to make backups, and deleting old backups manually. Any idea how the best way to prune backups over two weeks old would be?

Daily Cron job:
Code:
#!/bin/sh
date=`date -I`
base=`cat /var/backup/mysql.base`
mysqldump --all --all-databases --extended-insert  --compress \
--add-drop-table --add-locks --flush-logs --lock-tables -u root -p{removed} \
 --result-file=/var/backup/mysqlbackup-$date.sql
bzdiff --unified=3 /var/backup/mysqlbackup-$base.sql.bz2 \
 /var/backup/mysqlbackup-$date.sql > /var/backup/mysqlbackup-incr-$base-$date.diff
rm /var/backup/mysqlbackup-$date.sql
bzip2 -9 /var/backup/mysqlbackup-incr-$base-$date.diff
rm /var/backup/mysql.latest
echo `date -I` > /var/backup/mysql.latest
Weekly cron job:
Code:
#!/bin/sh
date=`cat /var/backup/mysql.latest`
base=`cat /var/backup/mysql.base`
bunzip2 -k /var/backup/mysqlbackup-$base.sql.bz2
bunzip2 -k /var/backup/mysqlbackup-incr-$base-$date.diff.bz2
mv /var/backup/mysqlbackup-$base.sql /var/backup/mysqlbackup-$date.sql
patch /var/backup/mysqlbackup-$date.sql /var/backup/mysqlbackup-incr-$base-$date.diff
rm /var/backup/mysqlbackup-incr-$base-$date.diff
bzip2 -9 /var/backup/mysqlbackup-$date.sql
rm /var/backup/mysql.base
cp /var/backup/mysql.latest /var/backup/mysql.base

 

 

 

 

Top