Skip to content

Instantly share code, notes, and snippets.

@strangeman
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save strangeman/9961b6b3a56bd666de33 to your computer and use it in GitHub Desktop.
Save strangeman/9961b6b3a56bd666de33 to your computer and use it in GitHub Desktop.
another simple script for backup mysql databases
#!/bin/bash
#create user for dump
#mysql> GRANT SHOW DATABASES, SELECT, LOCK TABLES, RELOAD ON *.* to dump@localhost IDENTIFIED BY 'dumppwd';
#mysql> FLUSH PRIVILEGES;
BACKUP_PATH=/mnt/mysqlbackup/dump
# make backup directory
mkdir -p $BACKUP_PATH
# remove backup's older than 14 days
find $BACKUP_PATH -type f -ctime +13 -exec rm {} \;
# get all databases
db=`mysql -u dump -pdumppwd -Bse 'show databases'`
for n in $db; do
BACKUP_FILE=$BACKUP_PATH/$n-`date +%Y-%m-%d`.sql.bz2
mysqldump \
--skip-set-charset \
--user=dump \
-pdumppwd \
$n | \
bzip2 -9 > $BACKUP_FILE
echo $BACKUP_FILE created
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment