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