Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ to ensure I have the latest production data also at development.

You can find more details in my blog post [Cloning Docker Data Volumes](https://www.guidodiepen.nl/2016/05/cloning-docker-data-volumes/)

## docker_gzip_volume.sh

The purpose for this script is that I can easily gzip a volume so that it can be backed up and restored on the same or different host.

## docker_get_data_volume_info.sh

The purpose for this script is that I can easily get a list of details for all data volumes
Expand Down
44 changes: 44 additions & 0 deletions docker_gzip_volume.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
!/bin/bash

#Author: Guido Diepen

#Convenience script that can help me to easily create a gzip of a given
#data volume. The script is mainly useful if you are using named volumes


#First check if the user provided all needed arguments
if [ "$1" = "" ]
then
echo "Please provide a source volume name"
exit
fi

if [ "$2" = "" ]
then
echo "Please provide a destination volume name"
exit
fi


#Check if the source volume name does exist
docker volume inspect $1 > /dev/null 2>&1
if [ "$?" != "0" ]
then
echo "The source volume \"$1\" does not exist"
exit
fi

#Now check if the destination exists
if [ ! -d "$2" ]
then
echo "The destination \"$2\" doesn't exist"
exit
fi

echo "Copying data from source volume \"$1\" to destination volume \"$2\"..."
docker run --rm \
-i \
-t \
-v $1:/from \
-v $2:/to \
alpine ash -c "cd /from ; tar zcvf \"/to/$1`date +%Y%m%d%H%M`.gz\" ."