]> code.delx.au - monosys/blob - borg/backup
borg-exclude: don't exclude all of /var/cache
[monosys] / borg / backup
1 #!/bin/bash
2
3 set -eu
4
5 if pgrep borg > /dev/null; then
6 echo "Borg is still running!"
7 exit 1
8 fi
9
10 source "$1"
11
12 set -x
13
14 ionice -c 3 -p $$
15 renice -n 19 -p $$ > /dev/null
16
17 [ "$BACKUP_SNAP" -eq 1 ] && bsnap on
18
19 cd "$BACKUP_PATH"
20
21 borg create \
22 $([ -t 0 ] && echo --progress) \
23 --info --stats \
24 --compression lz4 \
25 --exclude-from "$BACKUP_EXCLUDE_FILE" \
26 "${BACKUP_REPO}::{hostname}-{now}" .
27
28 borg prune \
29 --info --stats \
30 --keep-daily=7 \
31 --keep-weekly=4 \
32 --keep-monthly=12 \
33 --prefix='{hostname}-' \
34 "$BACKUP_REPO"
35
36 cd /
37
38 [ "$BACKUP_SNAP" -eq 1 ] && bsnap off
39
40 exit 0