#!/bin/sh
# chkconfig: 2345 10 90
### BEGIN INIT INFO
# Provides:          syslog-ng syslog
# Required-Start:    $local_fs
# Required-Stop:     
# Should-Start:      $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start syslog-ng at boot time
# Description:       Enable service provided by syslog-ng.
# X-Start-Before:    
# X-Stop-After:      
# X-Timesys-Start-Number:  10
# X-Timesys-Stop-Number:  90
### END INIT INFO

PATH=/usr/bin:/bin:/usr/sbin:/sbin

DAEMON=syslog-ng
PIDFILE=/var/run/${DAEMON}.pid

stop_service() {
    if [  -r $PIDFILE  -a  ! -z ${PIDFILE}  ]; then
	    PID=`cat ${PIDFILE}`
    fi
    if [  ${PID:=0} -gt 1 -a  ! "X$PID" = "X "  ]; then
	    kill ${PID}
      rm $PIDFILE
    else
	    echo "Unable to read PID file"
    fi
}

start_service() {

    if [ -f $PIDFILE ]; then
        PIDDIR=/proc/$(cat $PIDFILE)
        if [ -d ${PIDDIR} -a -n "$(readlink -f ${PIDDIR}/exe 2>/dev/null)" ]; then
        	echo "syslog-ng already started; not starting."
        	return
        else
        	echo "Removing stale PID file $PIDFILE."
        	rm -f $PIDFILE
        fi
    fi

    printf "Starting $DAEMON: "         ; $DAEMON

    rc=$?
    if [ $rc -ne 0 ]; then
            echo "[FAIL]"
	    echo "$0: Error ${rc} starting ${DAEMON}... bailing."
	    exit $rc
    fi
    echo "[ OK ]"
}

case $1 in

'start')
    start_service
    ;;

'stop')
    stop_service
    ;;

'restart')
    stop_service
    start_service
    ;;

*)
    echo "Usage: $0 [start|stop|restart]"
    ;;
esac
