aboutsummaryrefslogtreecommitdiffstats
path: root/arch-system/borgbackup
diff options
context:
space:
mode:
Diffstat (limited to 'arch-system/borgbackup')
-rwxr-xr-xarch-system/borgbackup11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch-system/borgbackup b/arch-system/borgbackup
index 66d1a36..fdd410d 100755
--- a/arch-system/borgbackup
+++ b/arch-system/borgbackup
@@ -5,11 +5,11 @@ set -o errexit -o errtrace
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 BORG_RSH="ssh -o IdentitiesOnly=yes -o ConnectionAttempts=20 \
+ -o ConnectTimeout=30 -i ~/.ssh/borg_key"
export LC_COLLATE=C
SNAPSHOT_TARGET="/.snapshots/home-$(date "+%Y-%m-%dT%H:%M:%S")"
-NETWORK_TIMEOUT=30
cleanup() {
cd /
@@ -66,12 +66,13 @@ if [ ! -d "$SNAPSHOT_TARGET" ]; then
sudo -n backup-sudo snapshot "$SNAPSHOT_TARGET"
fi
-if ! ssh -To BatchMode=yes -o ConnectTimeout=$NETWORK_TIMEOUT \
- -o IdentitiesOnly=yes -o ConnectionAttempts=20 -i ~/.ssh/borg_key \
- "$BORG_HOST" "borg --version" > /dev/null; then
+$BORG_RSH "$BORG_HOST" -f -N || rc=$?
+if [ ${rc-0} -eq 255 ]; then
notify_user "Backup: upload skipped"
echo "SSH server not reachable, skipping upload" >&2
exit 0
+elif [ ${rc-0} -ne 0 ]; then
+ handle_failure
fi
# break locks in case the previous run was interrupted