From 378df2867b291b03687749e326ad20aed682e9ab Mon Sep 17 00:00:00 2001 From: Jan Katins Date: Mon, 15 Mar 2021 13:30:46 +0100 Subject: [PATCH] Do explicit unlocks in grive-sync.sh script --- systemd/grive-sync.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/systemd/grive-sync.sh b/systemd/grive-sync.sh index bb837ba..5d32296 100755 --- a/systemd/grive-sync.sh +++ b/systemd/grive-sync.sh @@ -62,18 +62,20 @@ unlock() { _lock u; } # drop a lock sync_directory() { _directory="${1}" + + reset_timer_and_exit() { echo "Retriggered google drive sync" && touch -m $LOCKFILE && exit; } + + exlock_now || reset_timer_and_exit + if ping -c1 -W1 -q accounts.google.com >/dev/null 2>&1; then true # pass else - echo "Google drive server not reachable..." + echo "Google drive server not reachable, NOT syncing..." + unlock exit 0 fi - reset_timer_and_exit() { echo "Retriggered google drive sync" && touch -m "$LOCKFILE" && exit; } - - exlock_now || reset_timer_and_exit - TIME_AT_START=0 TIME_AT_END=1 while [[ "${TIME_AT_START}" -lt "${TIME_AT_END}" ]]; do @@ -91,10 +93,11 @@ sync_directory() { done # always exit ok, so that we never go into a wrong systemd state + unlock exit 0 } -### LISTEN TO DIRECTORY CHANGES ### +### LISTEN TO CHANGES IN DIRECTORY ### listen_directory() {