You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
661 B
Bash

#!/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