Skip to content

Instantly share code, notes, and snippets.

@real34
Created December 11, 2012 14:50
Show Gist options
  • Save real34/4259077 to your computer and use it in GitHub Desktop.
Save real34/4259077 to your computer and use it in GitHub Desktop.
SHELL script to backup all MySQL databases
#!/bin/bash
### MySQL Server Login Info ###
MUSER="root"
MPASS="xxxx"
MHOST="localhost"
MYSQL="/usr/local/bin/mysql"
MYSQLDUMP="/usr/local/mysql/bin/mysqldump"
BACKUP_PATH="/data/backup/mysql"
GZIP="/bin/gzip"
NOW=$(date +"%Y-%m-%d")
BAK="$BACKUP_PATH/$(date +'%Y-%m-%d')"
OLD_BAK="$BACKUP_PATH/$(date --date='7 days ago' +'%Y-%m-%d')"
#echo $BAK
#echo $OLD_BAK
[ ! -d $BAK ] && mkdir -p $BAK
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
# echo $db
FILE=$BAK/$db.$NOW-$(date +"%T").gz
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
if [ -d $OLD_BAK ]; then
/bin/rm -Rf $OLD_BAK/
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment