Skip to content

Instantly share code, notes, and snippets.

@gbitdev
Last active October 13, 2018 10:51
Show Gist options
  • Select an option

  • Save gbitdev/396736972c2a38934d1158e0b1c3945f to your computer and use it in GitHub Desktop.

Select an option

Save gbitdev/396736972c2a38934d1158e0b1c3945f to your computer and use it in GitHub Desktop.
Docker magento backup
#!/usr/bin/env bash
DATE=`date +%Y-%m-%d`
IMAGE='webdevops/bootstrap'
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-c|--command)
COMMAND="$2"
shift # past argument
shift # past value
;;
-i|--images)
IMAGE="$2"
shift # past argument
shift # past value
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [[ -n $1 ]]; then
for volume in $(docker inspect -f '{{ range .Mounts }}{{ .Name }} {{ end }}' $1)
do
echo "Creating backup for $volume from container $1"
docker run --rm -v $volume:/data -v $(pwd):/backup $IMAGE /bin/bash -c "cd /data && $COMMAND && tar -Acjvf /backup/$volume-$DATE.tar.bz2 ."
done
fi
#!/usr/bin/env bash
for volume in $(docker inspect -f '{{ range .Mounts }}{{ .Name }} {{ end }}' $1)
do
BACKUP_FILE=`ls $volume* | tail -1`
echo "Restoring data for $volume from $BACKUP_FILE"
docker run --rm $volume:/data -v $(pwd):/backup webdevops/bootstrap bash -c "tar xavf /backup/$BACKUP_FILE --strip 1"
"Restoring done."
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment