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
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
|
|
|