#!/bin/bash
PATH=/usr/bin:/bin
DIR=”/var/backup/mysql”
KEEP=”7″
datecomp=`date -d “$KEEP days ago” +%Y%m%d`
ts=`date +%Y%m%d`
dbs=`mysql -u root -p’xxx’ -ABNe ‘show databases’`
function purge() {
prefix=$1
for filename in `ls | grep “^$prefix-”`; do
idate=`echo $filename | sed “s/^$prefix-\([0-9]*\).sql$/\1/”`
if [ $idate -le $datecomp ]; then
rm $filename
fi
done
}
pushd $DIR > /dev/null
for db in $dbs
do
mysqldump –opt –quote-names -u root -p’xxx’ $db > $DIR/$db-$ts.sql
purge $db
done
popd > /dev/null
Advertisement