From b25466656698c6c16d5530cd12de78a3ef1473b6 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 15 Oct 2012 03:19:55 +0100 Subject: [PATCH] prevented multiple instances from starting within 15 seconds. only one action is allowed within 15 seconds. --- door.sh | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/door.sh b/door.sh index d78b2e8..a168b81 100755 --- a/door.sh +++ b/door.sh @@ -6,24 +6,29 @@ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin OPEN_INDICATOR=/tmp/door_status_open CLOSED_INDICATOR=/tmp/door_status_closed +if [ -f $OPEN_INDICATOR ]; then + LOCK_AGE=$(( $(date +%s)-$(stat -c %X $OPEN_INDICATOR) )) +elif [ -f $CLOSE_INDICATOR ]; then + LOCK_AGE=$(( $(date +%s)-$(stat -c %X $CLOSED_INDICATOR) )) +else + LOCK_AGE=15 +fi + +if [ $LOCK_AGE -lt 15 ]; then + echo "please wait at least 15 seconds befor a second run of this script" >&2 + exit 1 +fi + ./door_verify.sh STATUS=$? if [ $STATUS -eq 0 ]; then echo "opening door" if [ -f $OPEN_INDICATOR ]; then - if [ $(( $(date +%s)-$(stat -c %X $OPEN_INDICATOR) )) -lt 15 ]; then - echo "please wait at least 15 seconds befor a second run of this script" >&2 - exit 1 - fi echo "closing door" ./door_lock.sh close rm $OPEN_INDICATOR touch $CLOSED_INDICATOR else - if [ $(( $(date +%s)-$(stat -c %X $CLOSED_INDICATOR) )) -lt 15 ]; then - echo "please wait at least 15 seconds befor a second run of this script" >&2 - exit 1 - fi echo "opening door" ./door_lock.sh open rm $CLOSED_INDICATOR