bin/bag: fix exclusion patterns

This commit is contained in:
xeruf 2022-01-15 22:03:32 +01:00
parent 04bd37abfc
commit 0b499bc5a8
1 changed files with 6 additions and 3 deletions

View File

@ -1,8 +1,10 @@
#!/bin/sh
# Backup root filesystem with borg
args="--progress --stats"
while test $# -gt 0; do
case "$1" in
(-n) run="arg-test"; shift;;
(--dry-run) args="--dry-run --list"; name=test-$(date +%s); shift;;
(--root) shift; root="$1"; name="$(basename "$(realpath "$root")")"; echo $root $name; shift;;
(-*) name="${1#-}"; shift;;
(*) test $# -gt 0 || cd "$root"; break;;
@ -10,7 +12,8 @@ while test $# -gt 0; do
done
name="::$(test -n "$name" && echo "$name" || cat /etc/hostname)_${1:-system}_$(date -u +"%y%m%d")"
echo "Backing up as $name"
${run:-sudo --preserve-env=BORG_REPO borg} create --exclude-caches --progress --stats \
$(echo $DIRS_IGNORE_SAFE -x 'software-challenge/**/build' -x state/emacs -x state/go -x .local/lib | sed 's|-x \([^ ]\+\)|-e "sh:**/\1"|g') \
"$name" $(test $# -eq 0 && echo etc home root || test $# -eq 1 && echo $1) "${@:2}"
${run:-sudo --preserve-env=BORG_REPO borg} --exclude-caches create $args \
$(echo $DIRS_IGNORE_SAFE -x 'software-challenge/**/build' -x state/emacs -x state/go -x .local/lib |
sed 's|-x \([^ ]\+\)|-e sh:**/\1|g') \
"$name" $(test $# -eq 0 && echo etc home root || test $# -eq 1 && echo $1) "${@:2}" 2>&1
sudo chown -R $USER:$USER "$BORG_REPO"