summaryrefslogtreecommitdiff
path: root/config/init.d
diff options
context:
space:
mode:
Diffstat (limited to 'config/init.d')
-rwxr-xr-xconfig/init.d/power-logger44
1 files changed, 44 insertions, 0 deletions
diff --git a/config/init.d/power-logger b/config/init.d/power-logger
new file mode 100755
index 0000000..f1ac7a7
--- /dev/null
+++ b/config/init.d/power-logger
@@ -0,0 +1,44 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: power-logger
+# Required-Start: $all
+# Required-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop:
+# Short-Description: power-logger
+### END INIT INFO
+
+export SUFFIX=$(date +'%Y-%m-%d-%H:%M:%S')
+export USER=pks
+export GROUP=pks
+export DIR=/home/$USER/mqtt_client/
+
+case "$1" in
+ start)
+ echo "Starting power-logger"
+ rm -f $DIR/stop
+ if [ ! -f $DIR/power.db ]; then
+ runuser -l $USER -c "$DIR/db-create.sh $DIR/power.db"
+ fi
+ mkdir -p $DIR/log
+ chown -R $USER:$GROUP $DIR/log
+ runuser -l $USER -c "source $DIR/env/bin/activate && python $DIR/mqtt-receiver.py 2> >(cat > $DIR/log/power.$SUFFIX.err) | tee >(cat > $DIR/log/power.$SUFFIX.out) | $DIR/db-from-log.sh $DIR/power.db 2> >(cat > $DIR/log/power.db-from-log.$SUFFIX.err)" &
+ echo $! > /run/power-logger.pid2
+ ;;
+ stop)
+ echo "Stopping power-logger"
+ runuser -l $USER -c "touch $DIR/stop"
+ sleep 3
+ if [ -f /run/power-logger.pid2 ]; then
+ kill $(cat /run/power-logger.pid2) &>/dev/null
+ rm -f /run/power-logger.pid2
+ fi
+ rm -f $DIR/stop
+ ;;
+ *)
+ echo "Usage: /etc/init.d/power-logger {start|stop}"
+ exit 1
+ ;;
+esac
+
+exit 0