Skip to content

Instantly share code, notes, and snippets.

@cldotdev
Created February 14, 2014 17:08
Show Gist options
  • Select an option

  • Save cldotdev/9004936 to your computer and use it in GitHub Desktop.

Select an option

Save cldotdev/9004936 to your computer and use it in GitHub Desktop.
#!/bin/bash
#
# Usage:
# 1. Change the values in Config
# 2. $ sudo chmod 700 backup-mysql
# 3. $ sudo mv backup-mysql /etc/cron.daily/
## Config
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
TIMESTAMP=$(date +%Y%m%d)
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL_PASSWORD="password"
##
mkdir -p "$BACKUP_DIR/mysql"
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"`
for db in $databases; do
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment