mirror of
https://github.com/ChaosChemnitz/chch-door
synced 2025-07-04 12:16:06 +02:00
prevented multiple instances from starting within 15 seconds. only one action is allowed within 15 seconds.
This commit is contained in:
parent
b0eb760572
commit
b254666566
1 changed files with 13 additions and 8 deletions
21
door.sh
21
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue