2012-10-15 04:00:48 +02:00
|
|
|
#! /bin/sh
|
|
|
|
|
|
|
|
cd /etc/door/
|
|
|
|
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
|
|
|
|
|
2012-10-15 04:19:55 +02:00
|
|
|
if [ -f $OPEN_INDICATOR ]; then
|
|
|
|
LOCK_AGE=$(( $(date +%s)-$(stat -c %X $OPEN_INDICATOR) ))
|
2012-10-15 04:30:12 +02:00
|
|
|
elif [ -f $CLOSED_INDICATOR ]; then
|
2012-10-15 04:19:55 +02:00
|
|
|
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
|
|
|
|
|
2012-10-15 04:00:48 +02:00
|
|
|
./door_verify.sh
|
|
|
|
STATUS=$?
|
|
|
|
if [ $STATUS -eq 0 ]; then
|
|
|
|
echo "opening door"
|
|
|
|
if [ -f $OPEN_INDICATOR ]; then
|
|
|
|
echo "closing door"
|
|
|
|
./door_lock.sh close
|
|
|
|
rm $OPEN_INDICATOR
|
|
|
|
touch $CLOSED_INDICATOR
|
|
|
|
else
|
|
|
|
echo "opening door"
|
|
|
|
./door_lock.sh open
|
|
|
|
rm $CLOSED_INDICATOR
|
|
|
|
touch $OPEN_INDICATOR
|
|
|
|
fi
|
|
|
|
exit 0
|
|
|
|
else
|
|
|
|
echo "the lock won't move" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|