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
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

