Skip to content

Instantly share code, notes, and snippets.

@tadman
Created January 13, 2011 22:05
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 tadman/778716 to your computer and use it in GitHub Desktop.
Save tadman/778716 to your computer and use it in GitHub Desktop.
#!/bin/sh
MYSQL_USER=root
MYSQL_PASSWORD=<PASSWORD>
MYSQL_OPTS=
RETAIN_PERIOD=5
DUMP_DIRECTORY="$HOME/dumps"
for i in `echo "SHOW DATABASES" | mysql --user=$MYSQL_USER --password=$MYSQL_PAS
SWORD $MYSQL_OPTS`; do
case $i in
"Database") ;;
"information_schema") ;;
"") ;;
*)
DUMP=`date "+$DUMP_DIRECTORY/$i.%Y%m%d-%s.sql.gz"`
echo "Achiving $i to $DUMP"
mkdir -p $DUMP_DIRECTORY
mysqldump --all \
--extended-insert \
--add-drop-table \
--single-transaction \
--user=$MYSQL_USER \
--password=$MYSQL_PASSWORD \
$MYSQL_OPTS \
$i | gzip -9 > $DUMP
esac
done
# Remove older backups
find $DUMP_DIRECTORY -type f -mtime +$RETAIN_PERIOD -exec rm {} \;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment