44 lines
1.1 KiB
Bash
44 lines
1.1 KiB
Bash
|
#!/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 "==============================================================================="
|