Skip to content

Instantly share code, notes, and snippets.

@steveneaston
Created December 14, 2017 11:48
Show Gist options
  • Save steveneaston/3a53b62d53c20bf93166f94487b19d8e to your computer and use it in GitHub Desktop.
Save steveneaston/3a53b62d53c20bf93166f94487b19d8e to your computer and use it in GitHub Desktop.
Backup MySQL Databases
function dbbackup() {
if [[ "$1" ]]
then
BACKUP_DIR="$1"
MYSQL_USER="[USERNAME]"
MYSQL_PASSWORD="[PASSWORD]"
TIMESTAMP=$(date +"%F")
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
mkdir -p "$BACKUP_DIR/$TIMESTAMP"
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
for db in $databases; do
echo "Backing up: $db"
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --default-character-set=utf8 --single-transaction --skip-set-charset --databases $db | gzip > "$BACKUP_DIR/$TIMESTAMP/$db.gz"
done
echo "Completed backup"
else
echo "Error: missing required parameters."
echo "Usage: "
echo " dbbackup path"
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment