Skip to content

Instantly share code, notes, and snippets.

@allolex
Created May 28, 2014 18:15
Show Gist options
  • Select an option

  • Save allolex/453a7f4c910bf9a2332b to your computer and use it in GitHub Desktop.

Select an option

Save allolex/453a7f4c910bf9a2332b to your computer and use it in GitHub Desktop.
Bash wrapper around ssh and mysqldump to back up remote MySQL databases
#!/usr/bin/env bash
# Usage in new_script.bash
# source /path/to/backup_mysql.bash
# backup_mysql your_host host_ip user password
function backup_mysql () {
REMOTE_HOST_NAME=$1
REMOTE_IP=$2
USER=$3
PASSWORD=$4
EXTENSION=".sql.bz2"
DATETIME=$(date +"%F_%H-%M-%S")
SSH_COMMAND="mysqldump -u${USER} -p'${PASSWORD}' --all-databases"
SAVE_FILE="${REMOTE_HOST_NAME}-mysqldump-${DATETIME}${EXTENSION}"
FULL_COMMAND="ssh -C ${REMOTE_IP} ${SSH_COMMAND} | bzip2 > ${SAVE_FILE}"
echo ${FULL_COMMAND}
exec ${FULL_COMMAND}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment