home · contact · privacy
Improve borg script. master
authorChristian Heller <c.heller@plomlompom.de>
Tue, 11 Mar 2025 16:41:39 +0000 (17:41 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Tue, 11 Mar 2025 16:41:39 +0000 (17:41 +0100)
testing/home/desktop/.local/bin/borgplom

index edda5822f178a91705d7894bee3cb2951bc72b83..dcf7afe2bc917cff5af3b108b0fcf9fe883a7468 100755 (executable)
@@ -3,11 +3,17 @@ PATH_BORGKEYS="${HOME}/.config/borg/keys"
 PATH_ORG="${HOME}/org"
 
 if [ "$1" = "orgpull" ]; then
-    cd /
-    echo "Pretending to do something."
-    FIRST_SERVER=$(ls -1 "${PATH_BORGKEYS}/" | head -1 | sed 's/.*@//')
-    REPO="${FIRST_SERVER}:borg"
+    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."
+        fi
+    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