Skip to content

Instantly share code, notes, and snippets.

@zuzzas
Last active July 5, 2017 14:48
Show Gist options
  • Save zuzzas/717e74c334bd4f597e974ae8f432cefe to your computer and use it in GitHub Desktop.
Save zuzzas/717e74c334bd4f597e974ae8f432cefe to your computer and use it in GitHub Desktop.
Docker volume backup. Courtesy of https://stackoverflow.com/a/26339869/5203187
#!/bin/bash
# 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
VOLUME_NAME_SANITIZED=$(echo $VOLUME_NAME | sed s#/#_#2g)
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 czvf /backup/$VOLUME_NAME_SANITIZED.tar.gz $VOLUME_NAME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment