diff options
Diffstat (limited to 'config/init.d')
-rwxr-xr-x | config/init.d/power-logger | 44 |
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 |