Skip to content

Instantly share code, notes, and snippets.

@jmeyo
Last active August 29, 2015 14:00
Show Gist options
  • Save jmeyo/11371983 to your computer and use it in GitHub Desktop.
Save jmeyo/11371983 to your computer and use it in GitHub Desktop.
docker beaudev/mysql alias + backup
#!/bin/bash
docker_beaudev_mysql_instance=`sudo docker ps | grep "beaudev/mysql" | nawk '{print $1}'`
if [ "x"$docker_beaudev_mysql_instance != "x" ]; then
alias beaudev_mysql_admin_pass="echo "$(sudo docker logs $docker_beaudev_mysql_instance | grep "mysql -uadmin" | nawk '{print $3}' | sed 's/^-p//')
alias beaudev_mysql_ip="echo "$(sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' $docker_beaudev_mysql_instance)
function backup_beaudev_mysql() {
[ ! -d ~/beaudev_mysql/ ] && mkdir -p ~/beaudev_mysql/
mysql --skip-column-names -h$(beaudev_mysql_ip) -uadmin -p$(beaudev_mysql_admin_pass) -e "show databases;" | grep -Ev "information_schema|mysql|performance_schema|test" | xargs mysqldump -h$(beaudev_mysql_ip) -uadmin -p$(beaudev_mysql_admin_pass) --databases > ~/beaudev_mysql/beaudev_mysql_backup_$(hostname)_$(date +%Y-%m-%d_%H-%M).sql
}
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment