#!/bin/sh # ### BEGIN INIT INFO # Provides: flashtd # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: flashtd # Description: Blitzortung.org Flash-Tracker-Daemon ### END INIT INFO # chkconfig: 2345 99 01 # Author: Stefan Rueetschli (stefan@solnet.ch, www.steffr.ch) # File: flashtd # Date: 15.11.2012 # # Edit the variables to your needs and # copy this script to /etc/init.d # Register with "chkconfig on" # ############################################################### PROGDIR="/home/pi/blitzortung/" # Path to the blitzortung-tracker program PROGNAME="blitzortung_tracker" # Name of the blitzortung-tracker program LOGFILE="-ll /var/log/blitzortung.log" # Path and Logfile name PIDFILE="/home/pi/blitzortung/flashtd.pid" # File for storing the PID LOCKDIR="/var/lock/" # Path to the lock-dir LOCKFILE="flashtd.lck" # Name of the lock-file # Set your GPS-Module #GPSTYPE="SNAV" #GPSTYPE="Garmin" GPSTYPE="SiRF" #SBAS="-s" #BAUDRATE="4800" #BAUDRATE="9600" #BAUDRATE="19200" #BAUDRATE="38400" # Set your USB-Device DEVICE="/dev/ttyUSB0" #DEVICE="/dev/ttyS1" # Blitzortung.org Username & Password BO_USERNAME="USER" BO_PASSWORD="PASS" # Your Region (1=Europe, 2=Oceanien, 3=USA, 4=Japan) REGION="1" ############################################################### COMMAND="sudo $PROGDIR$PROGNAME $LOGFILE $SBAS $GPSTYPE $BAUDRATE $DEVICE $BO_USERNAME $BO_PASSWORD $REGION" ############################################################### # Get PID pid_tracker(){ if test ! -f $PIDFILE; then #echo "No PIDFILE found." return 1 fi trackerPID=`head -n 1 $PIDFILE` return 0 } # Get Status status_tracker (){ pid_tracker if ps -p $trackerPID > /dev/null 2>&1; then # The Tracker is already running... return 0 else # The Tracker is not running return 1 fi } printstatus_tracker(){ if status_tracker $1 $2; then echo "$PROGNAME (pid $trackerPID) is running..." else echo "$PROGNAME is not running." fi } kill_tracker(){ sudo kill $2 $trackerPID } PATH=/bin:/usr/bin:/sbin:/usr/sbin case "$1" in start) status_tracker if [ $? -eq 0 ]; then echo "$PROGNAME already started..." exit 1 fi echo -n "Starting $PROGNAME..." #echo "$COMMAND" $COMMAND & if [ -d $LOCKDIR ]; then touch $LOCKDIR/$LOCKFILE touch $PIDFILE echo $! > $PIDFILE else mkdir $LOCKDIR touch $LOCKDIR/$LOCKFILE touch $PIDFILE echo $! > $PIDFILE fi echo "done." exit 0 ;; stop) status_tracker if [ $? -eq 1 ]; then echo "$PROGNAME is not running... could not stop" exit 1 fi echo -n "Stopping $PROGNAME..." pid_tracker kill_tracker $PROGNAME rm -f $LOCKDIR/$LOCKFILE rm -f $PIDFILE echo "done." ;; restart) $0 stop $0 start ;; status) printstatus_tracker ;; *) echo "Usage: ... {start|stop|restart|status}" exit 1 ;; esac exit 0