From cdbb0923ddd144f860bc44ac829834b821c33dca Mon Sep 17 00:00:00 2001 From: Sven Date: Sat, 13 Apr 2024 09:25:16 +0200 Subject: [PATCH 1/2] Added borg-check.sh --- borg-check.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 borg-check.sh diff --git a/borg-check.sh b/borg-check.sh new file mode 100755 index 0000000..4435fdb --- /dev/null +++ b/borg-check.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +############################### +# script checks borg repo from .env +# USING REPAIR CAN BE DANGEROUS!! +############################## + +REPAIR= +PROGRESS="-p" +ARCHIVESONLY= +REPOSITORYONLY= + +function usage { + if [[ -n $1 ]]; then + echo "$1" + fi + echo -e "usage $0 [--rep] []" + echo " -q Quiet. Don't show progress." + echo " --rep Will try to repair. This can damage your backup. " +} + +while [[ $# -ne 0 ]]; do + case $1 in + --rep) REPAIR="--repair";; + -a) ARCHIVESONLY="--archives-only";; + -r) REPOSITORYONLY="--repository-only";; + -q) PROGRESS="";; + -h) usage; exit 1;; + esac + shift +done + + +# load values from .env +set -o allexport +eval $(cat '.env' | sed -e '/^#/d;/^\s*$/d' -e 's/\(\w*\)[ \t]*=[ \t]*\(.*\)/\1=\2/' -e "s/=['\"]\(.*\)['\"]/=\1/g" -e "s/'/'\\\''/g" -e "s/=\(.*\)/='\1'/g") +set +o allexport + +# Setting this, so the repo does not need to be given on the commandline: +export BORG_REPO=${ENV_BORG_REPO} +export BORG_PASSPHRASE=${ENV_BORG_PASSPHRASE} + +echo +echo +echo "----------------------------" +echo "--- CHECKING BACKUP REPO ---" +echo "----------------------------" +echo + +borg check \ + $PROGRESS \ + $ARCHIVESONLY \ + $REPOSITORYONLY \ + $REPAIR From 0bf421b46274714b75e5f2d40aeb6518788728d1 Mon Sep 17 00:00:00 2001 From: Sven Date: Sat, 13 Apr 2024 11:41:00 +0200 Subject: [PATCH 2/2] Fix usage --- borg-check.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/borg-check.sh b/borg-check.sh index 4435fdb..fad1046 100755 --- a/borg-check.sh +++ b/borg-check.sh @@ -14,9 +14,11 @@ function usage { if [[ -n $1 ]]; then echo "$1" fi - echo -e "usage $0 [--rep] []" + echo -e "usage $0 [-q] [--rep|-a|-r] " echo " -q Quiet. Don't show progress." - echo " --rep Will try to repair. This can damage your backup. " + echo " --rep Will try to repair. This can damage your backup." + echo " -a Archives only." + echo " -r Repositories only." } while [[ $# -ne 0 ]]; do