Taudris-IAC/stacks/vaultwarden/backup.sh

44 lines
1.1 KiB
Bash
Raw Normal View History

2022-08-28 10:59:39 -07:00
#!/bin/bash
#/root/vaultwarden/backup.sh
#load restic variables
set -a
source /root/.credentials-restic
set +a
export RESTIC_REPOSITORY="$RESTIC_REPOSITORY_BASE/Bitwarden"
#Define a timestamp function
timestamp() {
date "+%b %d %Y %T %Z"
}
# insert timestamp into log
echo
echo
echo "==============================================================================="
# stop vaultwarden
echo "$(timestamp): stopping vaultwarden"
docker service scale vaultwarden_vaultwarden=0
# backup
echo "$(timestamp): beginning backup"
restic backup --limit-upload 3072 /etc/vaultwarden/data
# start vaultwarden
echo "$(timestamp): starting vaultwarden"
docker service scale vaultwarden_vaultwarden=1
# forget and prune
echo "$(timestamp): forget and prune"
restic forget --prune --keep-daily 14 --keep-weekly 10 --keep-within 10w --keep-last 2 --group-by tags
# check for errors
echo "$(timestamp): checking for errors"
restic check
# insert timestamp into log
echo
echo "$(timestamp): finished"
echo "==============================================================================="