27 lines
704 B
Bash
27 lines
704 B
Bash
#!/bin/bash
|
|
|
|
# https://stackoverflow.com/questions/26331651/how-can-i-backup-a-docker-container-with-its-data-volumes/26339869#26339869
|
|
# This script allows you to backup a single volume from a container
|
|
# Data in given volume is saved in the current directory in a tar archive.
|
|
CONTAINER_NAME=$1
|
|
VOLUME_NAME=$2
|
|
|
|
usage() {
|
|
echo "Usage: $0 [container name] [volume name]"
|
|
exit 1
|
|
}
|
|
|
|
if [ -z $CONTAINER_NAME ]
|
|
then
|
|
echo "Error: missing container name parameter."
|
|
usage
|
|
fi
|
|
|
|
if [ -z $VOLUME_NAME ]
|
|
then
|
|
echo "Error: missing volume name parameter."
|
|
usage
|
|
fi
|
|
|
|
sudo docker run -rm --volumes-from $CONTAINER_NAME -v $(pwd):/backup busybox tar cvf /backup/$CONTAINER_NAME_$VOLUME_NAME.tar $VOLUME_NAME
|