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.

38 lines
868 B
Bash

#!/bin/bash
HOME=/home/nathan
DOCKER=$HOME/docker
BACKUP=$HOME/backup/
DIRS=('anetwork.uk' 'aney.co.uk' 'mariadb' 'npm' 'vaultwarden')
#DIRS=('nginx' 'npm' 'umami' 'uptimekuma' 'vaultwarden')
#DIRS=( "$DOCKER"/*/ )
REMOTE=alphavps
REMOTEBACKUP=/home/nathan/backups/docker/rn2
# requires rdiff-backup rsync docker-compose
# also setup .ssh/config for alphavps, and add to a cronjob (as root)
for i in "${DIRS[@]}"
do
#echo $i
# 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