Skip to content

Instantly share code, notes, and snippets.

@Kindari
Created September 7, 2012 17:12
Show Gist options
  • Save Kindari/3667863 to your computer and use it in GitHub Desktop.
Save Kindari/3667863 to your computer and use it in GitHub Desktop.
MySQL Backup All Databases with skip
USER="backup"
PASSWORD="****"
OUTPUTDIR="/home/dbbackup/backups"
MYSQLDUMP="/usr/bin/mysqldump"
MYSQL="/usr/bin/mysql"
SKIP=(mysql information_schema performance_schema)
# get a list of databases
databases=`$MYSQL --user=$USER --password=$PASSWORD \
-e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
# dump each database in turn
for db in $databases; do
for skipped in "${SKIP[@]}"; do
if [[ "$skipped" == "$db" ]]
then
continue 2
fi
done
$MYSQLDUMP --force --opt --user=$USER --password=$PASSWORD \
--databases $db > "$OUTPUTDIR/$db-$(date +%Y-%m-%d_%H-%M-%S).sql"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment