From 528b0ee77ff3cf4a7abceee375dada630674d624 Mon Sep 17 00:00:00 2001 From: Benjamin Dweck Date: Mon, 2 Nov 2020 19:23:01 +0200 Subject: [PATCH] Added backup script --- scripts/backup.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 scripts/backup.sh diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100755 index 0000000..6c132f6 --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,49 @@ +#!/bin/bash -e + +[ $# -lt 2 ] && { echo "Usage: $0 {backup|restore} BACKUP_FILENAME"; exit 1; } + +backup_file=$2 + +project_subscriber_volume_name=client_data +project_tor_volume_name=tor_config +tor_service=tor + +docker-compose --log-level WARNING up --no-start + +project_name=$(docker ps -a --no-trunc | grep $(docker-compose ps -q ${tor_service}) | awk '{ print $2; }' | awk -F "_" '{ print $1; }') + +project_volumes=$(docker volume ls -f name=$project_name | awk '{if (NR > 1) print $2"\n";}') + +subscriber_volume=$(echo "$project_volumes" | grep ${project_subscriber_volume_name} | xargs) +tor_volume=$(echo "$project_volumes" | grep ${project_tor_volume_name} | xargs) + +function backup { + + docker run --rm \ + -v $subscriber_volume:/data/subscriber \ + -v $tor_volume:/data/tor \ + -v $(pwd):/backup \ + ubuntu \ + tar -C / -czvf /backup/$backup_file data + + docker run --rm \ + -v $(pwd):/backup \ + ubuntu \ + chown $UID:$UID /backup/$backup_file +} + +function restore { + + docker-compose stop $tor_service + + docker run --rm \ + -v $subscriber_volume:/data/subscriber \ + -v $tor_volume:/data/tor \ + -v $(pwd)/$backup_file:/backup/backup.tar.gz \ + ubuntu \ + tar -C / -xzvf /backup/backup.tar.gz + + docker-compose start $tor_service +} + +$1 \ No newline at end of file