From: Christian Heller Date: Tue, 11 Mar 2025 17:28:39 +0000 (+0100) Subject: Fix broken borgplom. X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/%7B%7B%20web_path%20%7D%7D/%7B%7Bdb.prefix%7D%7D/static/processes?a=commitdiff_plain;ds=sidebyside;p=config Fix broken borgplom. --- diff --git a/testing/home/desktop/.local/bin/borgplom b/testing/home/desktop/.local/bin/borgplom index dcf7afe..a09db58 100755 --- a/testing/home/desktop/.local/bin/borgplom +++ b/testing/home/desktop/.local/bin/borgplom @@ -1,19 +1,32 @@ #!/bin/sh +set -e + PATH_BORGKEYS="${HOME}/.config/borg/keys" -PATH_ORG="${HOME}/org" +NAME_REPO=borg +NAME_ARCHIVE=orgdir + +if [ -z "${BORG_PASSPHRASE}" ]; then + stty -echo + printf "Borg passphrase: " + read passphrase + stty echo + printf "\n" + export BORG_PASSPHRASE="${passphrase}" +fi if [ "$1" = "orgpull" ]; then ls -1 "${PATH_BORGKEYS}/" | while read FILENAME; do - SERVER_NAME=$(echo "${FILENAME}" | sed 's/.*@//') - if ping -c1 -W2 "${SERVER_NAME}" > /dev/null 2>&1; then - break - else - echo "Cannot reach ${SERVER_NAME}, skipping." + NAME_SERVER=$(echo "${FILENAME}" | sed 's/.*@//') + if ! ping -c1 -W2 "${NAME_SERVER}" > /dev/null 2>&1; then + echo "Cannot reach ${NAME_SERVER}, skipping." + continue fi + REPO="${NAME_SERVER}:${NAME_REPO}" + ARCHIVES=$(borg list "${REPO}") # separate step so we may fail early on bad passphrase + ARCHIVE=$(echo "${ARCHIVES}" | grep "${NAME_ARCHIVE}" | tail -1 | cut -f1 -d' ') + echo "Pulling archive: ${ARCHIVE}" + cd / + borg extract --verbose "${REPO}::${ARCHIVE}" + break done - REPO="${SERVER_NAME}:borg" - ARCHIVE=$(borg list "${REPO}" | grep "${PATH_ORG}/" | tail -1 | cut -f1 -d' ') - echo "Pulling archive: ${ARCHIVE}" - cd / - borg extract --verbose "${REPO}::${ARCHIVE}" fi