Backup Mysql

#!/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

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.