Skip to content

Instantly share code, notes, and snippets.

@jet10000
Forked from kiview/docker_volume_backup.sh
Created April 8, 2020 06:32
Show Gist options
  • Save jet10000/d0cff7ccb21a7115155a385e219c3a39 to your computer and use it in GitHub Desktop.
Save jet10000/d0cff7ccb21a7115155a385e219c3a39 to your computer and use it in GitHub Desktop.
Docker-Compose volume backup
#!/bin/bash
compose_file_path=$1
project_name=$2
backup_path=$3
function backup_volume {
volume_name=$1
backup_destination=$2
docker run --rm -v $volume_name:/data -v $backup_destination:/backup ubuntu tar -zcvf /backup/$volume_name.tar /data
}
echo "Stopping running containers"
docker-compose -f $compose_file_path stop
echo "Mounting volumes and performing backup..."
volumes=($(docker volume ls -f name=$project_name | awk '{if (NR > 1) print $2}'))
for v in "${volumes[@]}"
do
backup_volume $v $backup_path
done
echo "Restarting containers"
docker-compose -f $compose_file_path start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment