split tuer initscript in core services and status updater
[svn42.git] / tuer_core.initscript
diff --git a/tuer_core.initscript b/tuer_core.initscript
new file mode 100644 (file)
index 0000000..d2ce14f
--- /dev/null
@@ -0,0 +1,64 @@
+#!/bin/sh
+# Start/stop the tuer daemon core.
+#
+### BEGIN INIT INFO
+# Provides:          tuer_core
+# Required-Start:    $remote_fs $syslog $time
+# Required-Stop:     $remote_fs $syslog $time
+# Default-Start:     2 3 4 5
+# Default-Stop:      1
+### END INIT INFO
+
+EXE_DOOR=/flash/tuer/door_daemon
+EXE_CARD=/flash/tuer/checkcard.pl
+
+DOOR_LOG="--log syslog:3,door_daemon,local1"
+DOOR_DEV=/dev/door
+
+. /etc/default/tuer
+
+PIDFILE_DOOR=${DIR_RUN}/door_daemon.pid
+PIDFILE_CARD=${DIR_RUN}/checkcard.pid
+
+test -f $EXE_DOOR  || exit 1
+test -f $EXE_CARD  || exit 1
+if [ ! -d $DIR_RUN ]; then
+       mkdir -p $DIR_RUN || exit 2
+       chown -R $DOOR_USR:$DOOR_GRP $DIR_RUN
+fi
+chown $DOOR_USR:$DOOR_GRP $DOOR_DEV
+
+. /lib/lsb/init-functions
+
+# Read the system's locale and set cron's locale. This locale
+# will be inherited by cron (used to set charset of emails)
+# and tasks running under it.
+
+case "$1" in
+start) 
+       log_daemon_msg "Starting door daemon" "door_daemon"
+        start-stop-daemon --start --quiet --pidfile $PIDFILE_DOOR --name door_daemon --startas $EXE_DOOR -- -d $DOOR_DEV -s $DOOR_SOCKET -u $DOOR_USR -g $DOOR_GRP -P $PIDFILE_DOOR $DOOR_LOG
+        log_end_msg $?
+       log_daemon_msg "Starting door daemon" "checkcard"
+        start-stop-daemon --start --quiet --pidfile $PIDFILE_CARD -b -m --name checkcard.pl --startas $EXE_CARD  -- $DOOR_SOCKET
+        #start-stop-daemon --start --quiet --pidfile $PIDFILE_CARD -c $DOOR_USR -b -m --name checkcard.pl --startas $EXE_CARD  -- $DOOR_SOCKET
+        log_end_msg $? 
+       ;;
+stop)
+       log_daemon_msg "Stopping door daemon" "door_daemon"
+        start-stop-daemon --stop --quiet --pidfile $PIDFILE_DOOR -m --name door_daemon 
+        log_end_msg $?
+       log_daemon_msg "Stopping door daemon" "checkcard"
+        start-stop-daemon --stop --quiet --pidfile $PIDFILE_CARD -m --name checkcard.pl
+        log_end_msg $? 
+       killall "mifare-read" 2>/dev/null
+        ;;
+restart) 
+       $0 stop
+       $0 start
+        ;;
+*)     log_action_msg "Usage: $0 {start|stop|restart|reload|force-reload}"
+        exit 2
+        ;;
+esac
+exit 0