Skip to content

Instantly share code, notes, and snippets.

@aniop
Forked from kiview/docker_volume_backup.sh
Created April 26, 2023 03:22
Show Gist options
  • Save aniop/4dc90a19703d0df1153d8f8ec8be435e to your computer and use it in GitHub Desktop.
Save aniop/4dc90a19703d0df1153d8f8ec8be435e 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
@aniop
Copy link
Author

aniop commented Apr 26, 2023

Docke数据卷备份迁移脚本

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment