Skip to content

Instantly share code, notes, and snippets.

@pavelsr
Last active March 31, 2020 21:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pavelsr/699cb1d886f37c8e7a0939b9e9831125 to your computer and use it in GitHub Desktop.
Save pavelsr/699cb1d886f37c8e7a0939b9e9831125 to your computer and use it in GitHub Desktop.
Script for quickly moving docker volume to another server
# Script for quickly moving docker volume to another server
echo "List of all running docker containers"
docker ps --format "table {{.Names}}"
echo " ============================== "
docker ps --format='{{.Name }}'
# defaults
REMOTE_HOST='admin@193.124.205.64'
REMOTE_FOLDER='/home/admin/inbox/www'
CONTAINER='nginx'
read -p "Type the name of container which you want to backup, default is $CONTAINER : " input
CONTAINER=${input:-$CONTAINER}
read -p "Type the remote host details, default is $REMOTE_HOST: " input
REMOTE_HOST=${input:-$REMOTE_HOST}
read -p "Specify full path to existing remote folder, default is $REMOTE_FOLDER: " input
REMOTE_FOLDER=${input:-$REMOTE_FOLDER}
for row in $(docker inspect $CONTAINER | jq -cr '.[].Mounts[].Source'); do
echo "Working with volume ${row}"
cd ${row}
tar -zcvf $CONTAINER.tar.gz *
ssh $REMOTE_HOST "mkdir -p $REMOTE_FOLDER"
scp $CONTAINER.tar.gz $REMOTE_HOST:$REMOTE_FOLDER/..
ssh $REMOTE_HOST "tar -xvf $REMOTE_FOLDER/../$CONTAINER.tar.gz -C $REMOTE_FOLDER"
done
@pavelsr
Copy link
Author

pavelsr commented Jun 3, 2018

Test database backup import:

docker run  -v $(pwd)/backup.sql:/docker-entrypoint-initdb.d/backup.sql -it mysql:5.7 mysql -uroot -proot -Dopencart

error during mysql dump

InnoDB: Table flags are 0 in the data dictionary but the flags in file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment