From da960b72927f6d24437644b64563233067ed13dc Mon Sep 17 00:00:00 2001 From: Nathan Date: Tue, 6 Jun 2023 17:26:31 +0100 Subject: [PATCH] Add basic docker backup --- backup/docker_backup.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 backup/docker_backup.sh diff --git a/backup/docker_backup.sh b/backup/docker_backup.sh new file mode 100755 index 0000000..91a4bf4 --- /dev/null +++ b/backup/docker_backup.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +HOME=/home/nathan +DOCKER=$HOME/docker +BACKUP=$HOME/backup/ +DIRS=("homer" "npm" "portainer" "vaultwarden" "wg-easy") +REMOTE=alphavps +REMOTEBACKUP=/home/nathan/backups/docker/docker-prod + +for i in "${DIRS[@]}" +do + # Stop docker containers before backup incase any moving parts + cd $DOCKER/$i + docker compose stop + rdiff-backup $DOCKER/$i $BACKUP/$i + rdiff-backup --force --remove-older-than 2M $BACKUP/$i + docker compose start +done + +# Create the remote directory for backup if it doesn't exist +ssh $REMOTE mkdir -p $REMOTEBACKUP + +# Copy the backup accross +# -e ssh makes it secure +rsync -azh -e ssh \ + --delete \ + $BACKUP \ + $REMOTE:$REMOTEBACKUP +