Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #########################################
- ## SETUP DEDYN READ-ONLY ##
- #########################################
- echo "WARNING: dedyn.io access is still read/write!"
- echo "---------------------------------------------"
- ###################################################
- ## REMOVE DATABASE VOLUMES OF THE NEW CONTAINERS ##
- ###################################################
- echo
- echo
- echo "WARNING: delete docker container and volumes!"
- echo "---------------------------------------------"
- docker ps | grep desecstack_db
- docker volume ls -q | grep desecstack_db
- echo -n "3.."
- sleep 1
- echo -n "2.."
- sleep 1
- echo "1.."
- sleep 1
- docker rm -f $(docker ps -a | grep desecstack_db | egrep -o '^[a-z0-9]+')
- docker volume rm $(docker volume ls -q)
- ########################################
- ## PREPARE DOCKER CONTAINERS ##
- ########################################
- echo
- echo
- echo "Preparing new docker containers"
- echo "-------------------------------"
- cd /usr/local/src/desec-stack/
- docker-compose -f docker-compose.yml up -d dbapi
- docker-compose -f docker-compose.yml up -d dblord
- echo "waiting 30s for dbapi, dblord to come up"
- sleep 30
- ########################################
- ## TRANSFER DATA ##
- ########################################
- echo
- echo
- echo "Transfer data"
- echo "--------------------"
- if [ ! -f ~/.my.cnf ] ; then
- echo "~/.my.cnf with mysqldump password info missing"
- echo "see https://stackoverflow.com/questions/9293042/mysqldump-without-the-password-prompt"
- exit 1
- fi
- echo "Transfer pdns database (powerdns tables only, data only)"
- (
- TABLES="domains records supermasters comments domainmetadata tsigkeys"
- source /usr/local/src/desec-stack/.env
- # the key for the pipe is not using the '-t' paramter for docker exec
- mysqldump pdns $TABLES --single-transaction --skip-add-drop-table --no-create-info | docker exec -i desecstack_dblord_1 mysql -u root -p$DESECSTACK_DBLORD_PASSWORD_root pdns
- echo
- echo "number of records in new database:"
- for TABLE in $TABLES
- do
- echo "$TABLE:"
- echo "SELECT COUNT(*) FROM $TABLE;" | docker exec -i desecstack_dblord_1 mysql -u root -p$DESECSTACK_DBLORD_PASSWORD_root pdns
- echo
- done
- )
- echo
- echo
- echo "Transfer API database (including structure)"
- (
- TABLES="desecapi_domain desecapi_donation desecapi_user"
- source /usr/local/src/desec-stack/.env
- # the key for the pipe is not using the '-t' paramter for docker exec
- mysqldump desec --single-transaction | docker exec -i desecstack_dbapi_1 mysql -u root -p$DESECSTACK_DBAPI_PASSWORD_root desec
- echo "number of records in new database:"
- for TABLE in $TABLES
- do
- echo "$TABLE:"
- echo "SELECT COUNT(*) FROM $TABLE;" | docker exec -i desecstack_dbapi_1 mysql -u root -p$DESECSTACK_DBAPI_PASSWORD_root desec
- echo
- done
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement