#!/bin/bash
#
# rsyslog	System logging daemon
#
# chkconfig:	2345 12 88
# description:	Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL, \
#		syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part, \
#		and fine grain output format control. It is compatible with stock sysklogd \
#		and can be used as a drop-in replacement.
# processname:	rsyslogd
# config:	/etc/rsyslog.conf
# pidfile:	/var/run/rsyslogd.pid
#
### BEGIN INIT INFO
# Provides: 		$syslog
# Required-Start: 	$local_fs $time
# Required-Stop:	$local_fs $time
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description:	System logging daemon
# Description:		Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL, \
#			syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part, \
#			and fine grain output format control. It is compatible with stock sysklogd \
#			and can be used as a drop-in replacement.
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

exec="/usr/sbin/rsyslogd"
prog=${exec##*/}
[ -e /etc/sysconfig/rsyslog ] && . /etc/sysconfig/rsyslog
lockfile=/var/lock/subsys/rsyslog

start() {
    gprintf "Starting %s: " "$prog"
    daemon $prog $RSYSLOGD_OPTIONS
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    gprintf "Stopping %s: " "$prog"
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

case "$1" in
    start|stop|restart)
        $1
        ;;
    force-reload)
        restart
        ;;
    status)
        status $prog
        ;;
    try-restart|condrestart)
        if status $prog >/dev/null ; then
            restart
        fi
        ;;
    reload)
        status $prog >/dev/null || exit 7
        killproc $prog -HUP
        ;;
    *)
        gprintf "Usage: %s {start|stop|status|reload|restart|try-restart|condrestart|force-reload}\n" "$0"
        exit 2
esac
