From 1a7f8abc3e9f669e9532da3d8f8e60cb9971387f Mon Sep 17 00:00:00 2001 From: nevafuse Date: Tue, 3 Jul 2018 10:39:07 -0400 Subject: [PATCH 1/2] Create docker_gzip_volume.sh --- docker_gzip_volume.sh | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 docker_gzip_volume.sh diff --git a/docker_gzip_volume.sh b/docker_gzip_volume.sh new file mode 100644 index 0000000..f099589 --- /dev/null +++ b/docker_gzip_volume.sh @@ -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\" ." From 091edb0e3cfd2417161771cc21c68399154e2c43 Mon Sep 17 00:00:00 2001 From: nevafuse Date: Tue, 3 Jul 2018 10:44:59 -0400 Subject: [PATCH 2/2] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index ef4c89b..5d3c7ed 100644 --- a/README.md +++ b/README.md @@ -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