Browse Source

add initscript + Readme

Helge Jung 9 years ago
parent
commit
c2401d9818
2 changed files with 86 additions and 0 deletions
  1. 23 0
      Readme.md
  2. 63 0
      contrib/init-script.sh

+ 23 - 0
Readme.md

@@ -0,0 +1,23 @@
+# Status-Daemon
+
+Dieser Daemon läuft auf einem Rechner der im Freifunk-Mesh hängt
+und fragt periodisch (Default = 15s) die Alfred-Daten ab.
+
+Die Daten werden aggregiert und können anschließend an mehrere Datensenken weitergegeben:
+* Knoten-Management (allgemeine Meta-Daten zu eigenen Knoten)
+* Redis-Datenbank (zentrale Datenbank mit aktuellen Knoten-Daten)
+* Graphite (Knoten-Graphen und Detail-Statistiken)
+
+## Voraussetzungen
+
+* auf dem Rechner läuft ein (ALFRED-Daemon)[http://www.open-mesh.org/projects/open-mesh/wiki/Alfred]
+
+## Installation
+
+```
+sudo apt-get install python-daemon
+sudo ln -s contrib/init-script.sh /etc/init.d/ffstatus
+echo "DAEMON_DIR=`pwd`" | sudo tee -a /etc/default/ffstatus
+sudo update-rc.d enable ffstatus
+```
+

+ 63 - 0
contrib/init-script.sh

@@ -0,0 +1,63 @@
+N INIT INFO
+# Provides: myservice
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Put a short description of the service here
+# Description: Put a long description of the service here
+### END INIT INFO
+
+DAEMON_DIR="/opt/ffstatus/"
+DAEMON_NAME="ffstatus"
+
+# Add any command line options for your daemon here
+DAEMON_OPTS=""
+
+# This next line determines what user the script runs as.
+# Root generally not recommended but necessary if you are using the Raspberry Pi GPIO from Python.
+DAEMON_USER=root
+
+# The process ID of the script when it runs is stored here:
+PIDFILE=/var/run/$DAEMON_NAME.pid
+
+[ -r /etc/default/ffstatus ] && . /etc/default/ffstatus
+
+DAEMON=$DAEMON_DIR/myservice.py
+DAEMON_NAME=myservice
+
+. /lib/lsb/init-functions
+
+do_start () {
+	log_daemon_msg "Starting $DAEMON_NAME daemon"
+	start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS
+	log_end_msg $?
+}
+
+do_stop () {
+	log_daemon_msg "Stopping $DAEMON_NAME daemon"
+	start-stop-daemon --stop --pidfile $PIDFILE --retry 10
+	log_end_msg $?
+}
+
+case "$1" in
+	start|stop)
+		do_${1}
+		;;
+
+	restart|force-reload)
+		do_stop
+		do_start
+		;;
+
+	status)
+		status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
+		;;
+
+	*)
+		echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
+		exit 1
+		;;
+esac
+
+exit 0