From 197c65cdec5afafea943d2f6ab31b2f14ec8cc4e Mon Sep 17 00:00:00 2001 From: Alexey Ukhov Date: Tue, 24 Mar 2020 14:49:51 +0700 Subject: [PATCH] add export volume script --- docker_export_volume.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 docker_export_volume.sh diff --git a/docker_export_volume.sh b/docker_export_volume.sh new file mode 100755 index 0000000..4cb413b --- /dev/null +++ b/docker_export_volume.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# Author: Alexey Ukhov + +SCRIPTSRC=`readlink -f "$0" || echo "$0"` +SCRIPT_PATH=`dirname "$SCRIPTSRC" || echo .` + +#First check if the user provided all needed arguments +if [ "$1" = "" ] +then + echo "Please provide a source 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 + +BACKUP_FOLDER=${2:-backup} +if [ ! -d "${BACKUP_FOLDER}" ] +then + echo "Create backup folder '${BACKUP_FOLDER}'" + mkdir -p ${BACKUP_FOLDER} +fi + +NOW=$(date +"%Y-%m-%d-%H-%M-%S") +BACKUP_FILE=${BACKUP_FOLDER}/$1_${NOW}.tar.gz + +echo "Export volume '$1' into file '${BACKUP_FILE}'" +docker run --rm -v $1:/from alpine ash -c 'cd /from && tar -cOzf - .' > ${BACKUP_FILE} \ No newline at end of file