]> code.delx.au - monosys/blob - borg/backup
borg: prune only from the same host
[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 borg create \
20 $([ -t 0 ] && echo --progress) \
21 --info --stats \
22 --compression lz4 \
23 --exclude-from "$BACKUP_EXCLUDE_FILE" \
24 "${BACKUP_REPO}::{hostname}-{now}" "$BACKUP_PATH"
25
26 borg prune \
27 --info --stats \
28 --keep-daily=7 \
29 --keep-weekly=4 \
30 --keep-monthly=12 \
31 --prefix='{hostname}-' \
32 "$BACKUP_REPO"
33
34 [ "$BACKUP_SNAP" -eq 1 ] && bsnap off
35
36 exit 0