start/stop/restart/status script for darkice by Niels Dettenbach
This commit is contained in:
parent
8dddc12759
commit
b686f2c977
|
@ -0,0 +1,130 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# generic init file for darkice
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# Niels Dettenbach - nd@syndicat.com - 2009-11-05
|
||||||
|
#
|
||||||
|
# License:
|
||||||
|
# GPLv3 (2009)
|
||||||
|
#
|
||||||
|
|
||||||
|
## settings ##
|
||||||
|
# check your paths!
|
||||||
|
|
||||||
|
program=/usr/bin/darkice
|
||||||
|
pidfile=/var/run/darkice.pid
|
||||||
|
configfile=/etc/darkice.cfg
|
||||||
|
logfile=/var/log/darkice.log
|
||||||
|
progname="darkice"
|
||||||
|
restart_delay=2
|
||||||
|
verbose="5"
|
||||||
|
|
||||||
|
## end of settings ##
|
||||||
|
|
||||||
|
RETVAL=0
|
||||||
|
if [ ! -f $configfile ]
|
||||||
|
then
|
||||||
|
echo "$progname: config file not found"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $program ]
|
||||||
|
then
|
||||||
|
echo "$progname: programm file $program not found"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
'start')
|
||||||
|
if [ -f $pidfile ]; then
|
||||||
|
PID=`cat $pidfile`
|
||||||
|
running=`ps --no-headers -o "%c" -p $PID`
|
||||||
|
if ( [ "$progname" == "$running" ] ); then
|
||||||
|
echo "$progname is still running"
|
||||||
|
else
|
||||||
|
echo "$progname seems crashed - PID does not match the deamon"
|
||||||
|
echo "removing stale PID File $pidfile"
|
||||||
|
rm $pidfile
|
||||||
|
$0 start
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo -n $"Starting $progname "
|
||||||
|
RETVAL=1
|
||||||
|
$program -v $verbose -c $configfile 2>%1 >> $logfile &
|
||||||
|
echo
|
||||||
|
RETVAL=$?
|
||||||
|
if [ $RETVAL -eq 0 ]; then
|
||||||
|
echo $! > $pidfile
|
||||||
|
echo " started"
|
||||||
|
else
|
||||||
|
echo " not started"
|
||||||
|
echo $RETVAL
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
RETVAL=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'stop')
|
||||||
|
if [ -f $pidfile ]; then
|
||||||
|
echo -n $"Stop $progname "
|
||||||
|
PID=`cat $pidfile`
|
||||||
|
kill -s TERM $PID 2> /dev/null
|
||||||
|
echo
|
||||||
|
sleep $restart_delay
|
||||||
|
rm $pidfile
|
||||||
|
echo " stopped"
|
||||||
|
else
|
||||||
|
echo "$progname not running"
|
||||||
|
fi
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
'status')
|
||||||
|
if [ -f $pidfile ]; then
|
||||||
|
PID=`cat $pidfile`
|
||||||
|
running=`ps --no-headers -o "%c" -p $PID`
|
||||||
|
if ( [ "$progname" == "$running" ] ); then
|
||||||
|
echo "$progname IS running with PID `cat $pidfile`."
|
||||||
|
else
|
||||||
|
echo "$progname process is dead or stale PID File $pidfile"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "$progname is not running"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'restart')
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
|
||||||
|
'restartifdown')
|
||||||
|
if [ -f $pidfile ]; then
|
||||||
|
PID=`cat $pidfile`
|
||||||
|
running=`ps --no-headers -o "%c" -p $PID`
|
||||||
|
if ( [ "$progname" == "$running" ] ); then
|
||||||
|
echo "$progname IS running with PID `cat $pidfile` - no restart."
|
||||||
|
else
|
||||||
|
echo "$progname PID $PID seems dead - restart"
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
RETVAL=$?
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "PID file $pidfile found - restart"
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
RETVAL=$?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|status|restartifdown} "
|
||||||
|
exit 1;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $RETVAL
|
Loading…
Reference in New Issue