Skip to content

Instantly share code, notes, and snippets.

@ahmadsoe
Created December 24, 2013 21:14
Show Gist options
  • Save ahmadsoe/8117851 to your computer and use it in GitHub Desktop.
Save ahmadsoe/8117851 to your computer and use it in GitHub Desktop.
Backup MySQL database(s) to local or remote server.
#!/bin/bash
# Backup MySQL database(s) to local and/or remote server.
# databases=( 'DB_1' 'DB_2' 'DB_3')
databases=( )
db_host="localhost"
db_user=""
db_pass=""
backup_path="/home/backups"
remote_host=""
remote_user=""
remote_path=""
datetime=$(date +'%Y-%m-%dT%H:%M:%S')
for db_name in ${databases[@]}; do
mysqldump -u $db_user -h $db_host --password=$db_pass $db_name | gzip -9 > $backup_path/$db_name-$datetime.sql.gz
done
chown root:root $backup_path/*-$datetime.sql.gz
chmod 000 $backup_path/*-$datetime.sql.gz
if [ "$remote_host" != '' ]; then
scp $backup_path/*-$datetime.sql.gz $remote_user@$remote_host:$remote_path
fi
# END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment