start/stop/restart/status script for darkice by Niels Dettenbach
This commit is contained in:
parent
4e00387873
commit
8dddc12759
|
@ -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