aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2018-06-14 19:30:57 +0200
committerTharre <tharre3@gmail.com>2018-06-14 19:31:27 +0200
commitc8f48e8c7f11dc82c9505487abff26df83c97cad (patch)
treed390337b024c9fdcc5721f7ece906dc39c1f6e49
parent8efe5a89fabe36f1f8c6cab2a5dbb268ac0e4189 (diff)
downloadpkgbuilds-c8f48e8c7f11dc82c9505487abff26df83c97cad.tar.gz
pkgbuilds-c8f48e8c7f11dc82c9505487abff26df83c97cad.tar.xz
pkgbuilds-c8f48e8c7f11dc82c9505487abff26df83c97cad.zip
arch-system: borgbackup: check connection with ssh
Networkmanager isn't really all that reliable, and we actually don't want to depend on it anyway. So trying to connect via ssh is the better thing to do.
-rw-r--r--arch-system/PKGBUILD2
-rwxr-xr-xarch-system/borgbackup20
2 files changed, 9 insertions, 13 deletions
diff --git a/arch-system/PKGBUILD b/arch-system/PKGBUILD
index 0861d2e..7ef406f 100644
--- a/arch-system/PKGBUILD
+++ b/arch-system/PKGBUILD
@@ -31,7 +31,7 @@ sha256sums=('bb00c42f2802c12536c46700b948d41a43153d97a6986827b7c61203880e1ad1'
'99cd268de0e9b847d65f802e7bcbbf7318398a04db61523545d4002ebdfb4d9c'
'42050ba722df1cd606288e82054e131dac99bf10506f4c8d52eb9bfc0a078d89'
'e1bf3dc5978a7641f86975b7ee770a6914b30a8e4b7e3be2f1b07eaa7098591d'
- 'd2663035db495a1f66013b1f26a3b794256d45c75e45eb46a8277961f3143ef6'
+ '90c1cad5ec73476af891e701f6c369b0c33692a5b7189bc4f3b8cc970b7495ef'
'b9f38ad0731a5b65d49eaacd0fb8cfe051b6ca7ea68496d89919701842183d89')
package_base-system() {
diff --git a/arch-system/borgbackup b/arch-system/borgbackup
index 05ae2ea..9c298c5 100755
--- a/arch-system/borgbackup
+++ b/arch-system/borgbackup
@@ -2,13 +2,14 @@
set -o errexit -o errtrace
-export BORG_REPO="borg@borg1.th73.ovh:."
+BORG_HOST="borg@borg1.th73.ovh"
+export BORG_REPO="$BORG_HOST:."
export BORG_PASSPHRASE="$(< ~/.borg_secret)"
export BORG_RSH="ssh -o IdentitiesOnly=yes -o ConnectionAttempts=20 -i ~/.ssh/borg_key"
export LC_COLLATE=C
SNAPSHOT_TARGET="/.snapshots/home-$(date "+%Y-%m-%dT%H:%M:%S")"
-NETWORK_TIMEOUT=120
+NETWORK_TIMEOUT=30
cleanup() {
cd /
@@ -55,16 +56,11 @@ if [ ! -d "$SNAPSHOT_TARGET" ]; then
sudo -n backup-sudo snapshot "$SNAPSHOT_TARGET"
fi
-i=0
-while [ "$(nmcli -g connectivity general status)" = "none" ]; do
- i=$[$i+1]
- if [ $i -gt "$NETWORK_TIMEOUT" ]; then
- echo "Network not up, skipping upload" >&2
- exit 0
- fi
-
- sleep 1
-done
+if ! ssh -To BatchMode=yes -o ConnectTimeout=$NETWORK_TIMEOUT "$BORG_HOST" \
+ "borg --version" > /dev/null; then
+ echo "SSH server not reachable, skipping upload" >&2
+ exit 0
+fi
# break locks in case the previous run was interrupted
borg break-lock