diff --git a/misc/borg.sh b/misc/borg.sh index 61f17c101884acc68e31b0537ee804c7cabf430a..ce569bf004f00190040aaebc9c21f6f40dbd2dd0 100755 --- a/misc/borg.sh +++ b/misc/borg.sh @@ -4,14 +4,15 @@ set -eu shopt -s extglob OFFSITE_HOST=ch-s012.rsync.net +ROOT_DIR=$(dirname "${0}")/.. -decrypted_gpg=$(mktemp) -trap "rm \"${decrypted_gpg}\"" EXIT +decrypted_gpg=$(mktemp arch-infrastructure-borg-XXXXXXXXX) +trap "rm -f \"${decrypted_gpg}\"" EXIT [[ "$*" =~ $OFFSITE_HOST ]] && is_offsite=true || is_offsite=false # Find matching key matching_key="" -for gpgkey in borg-keys/!(*-offsite.gpg); do +for gpgkey in "$ROOT_DIR"/borg-keys/!(*-offsite.gpg); do key=$(basename "$gpgkey" .gpg) if [[ "$*" =~ $key ]]; then matching_key="$key" @@ -25,7 +26,7 @@ if [[ -z "$matching_key" ]]; then echo "No matching keyfile found for this host" exit 1 fi -gpg --batch --yes --decrypt -aq --output "$decrypted_gpg" borg-keys/"$matching_key.gpg" +gpg --batch --yes --decrypt -aq --output "$decrypted_gpg" "$ROOT_DIR/borg-keys/$matching_key.gpg" BORG_KEY_FILE="$decrypted_gpg" borg "$@"