From 9e2c83bd8fe2181102e9f9d72d98cfc3cd49938d Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Tue, 11 Mar 2025 17:41:39 +0100
Subject: [PATCH] Improve borg script.

---
 testing/home/desktop/.local/bin/borgplom | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/testing/home/desktop/.local/bin/borgplom b/testing/home/desktop/.local/bin/borgplom
index edda582..dcf7afe 100755
--- a/testing/home/desktop/.local/bin/borgplom
+++ b/testing/home/desktop/.local/bin/borgplom
@@ -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
-- 
2.30.2