2020-10-12 14:50:17 +02:00
# docker-volume-backup
2020-12-26 16:31:47 +01:00
[![License: GPL v3 ](https://img.shields.io/badge/License-GPL%20v3-blue.svg )](./LICENSE.txt) [![Travis CI ](https://travis-ci.org/kevinveenbirkenbach/docker-volume-backup.svg?branch=master )](https://travis-ci.org/kevinveenbirkenbach/docker-volume-backup)
2020-10-11 18:39:06 +02:00
2020-12-26 16:31:47 +01:00
## goal
2020-10-12 14:50:17 +02:00
This script backups all docker-volumes with the help of rsync.
2020-12-26 16:31:47 +01:00
## scheme
It is part of the following scheme:
![backup scheme ](https://www.veen.world/wp-content/uploads/2020/12/server-backup-768x567.jpg )
Further information you will find [in this blog post ](https://www.veen.world/2020/12/26/how-i-backup-dedicated-root-servers/ ).
2020-10-12 14:50:17 +02:00
## Backup
Execute:
2020-10-12 14:51:09 +02:00
2020-10-12 14:52:00 +02:00
```bash
2020-10-12 14:50:17 +02:00
./docker-volume-backup.sh
2020-10-12 14:52:00 +02:00
```
2020-10-12 14:50:17 +02:00
2021-08-19 13:09:44 +02:00
## Recover
Execute:
```bash
./docker-volume-recover.sh {{volume_name}} {{backup_path}}
```
2020-12-27 10:12:47 +01:00
## Debug
To checkout what's going on in the mount container type in the following command:
```bash
docker run -it --entrypoint /bin/sh --rm --volumes-from {{container_name}} -v /Backups/:/Backups/ kevinveenbirkenbach/alpine-rsync
```
## Manual Backup
rsync -aPvv '***{{source_path}}***/' ** *{{destination_path}}***";
2020-10-12 14:50:17 +02:00
## Test
Delete the volume.
2020-10-12 14:51:09 +02:00
2020-10-12 14:52:00 +02:00
```bash
2020-10-12 14:50:17 +02:00
docker rm -f container-name
docker volume rm volume-name
2020-10-12 14:52:00 +02:00
```
2020-10-12 14:50:17 +02:00
Recover the volume:
2020-10-12 14:51:09 +02:00
2020-10-12 14:52:00 +02:00
```bash
2020-10-12 14:50:17 +02:00
docker volume create volume-name
docker run --rm -v volume-name:/recover/ -v ~/backup/:/backup/ "kevinveenbirkenbach/alpine-rsync" sh -c "rsync -avv /backup/ /recover/"
2020-10-12 14:52:00 +02:00
```
2020-10-12 14:50:17 +02:00
Restart the container.
2020-12-28 13:34:35 +01:00
## Optimation
This setup script is not optimized yet for performance. Please optimized this script for performance if you want to use it in a professional environment.
2020-10-12 14:50:17 +02:00
## More information
2020-12-28 13:34:35 +01:00
- https://blog.ssdnodes.com/blog/docker-backup-volumes/
- https://www.baculasystems.com/blog/docker-backup-containers/
2021-08-19 21:02:52 +02:00
- https://hub.docker.com/_/mariadb