#!/bin/sh # # syslog Starts syslog-ng (syslogd replacement). # # chkconfig: 2345 17 83 # description: Syslog is the facility by which many daemons use to log \ # messages to various system log files. It is a good idea to \ # always run syslog. # Source function library . /etc/rc.d/init.d/functions # Get service config if [ -f /etc/sysconfig/syslog-ng ]; then . /etc/sysconfig/syslog-ng fi # configtest itself # must return non-zero if check failed # output is discarded if checkconfig is ran without details configtest() { syslog-ng $OPTIONS -F -s -p /var/run/syslog-ng-syntaxcheck.pid return $? } # wrapper for configtest checkconfig() { local details=${1:-0} if [ $details = 1 ]; then # run config test and display report (status action) show "Checking %s configuration" "syslog-ng"; busy local out out=$(configtest 2>&1) RETVAL=$? if [ $RETVAL = 0 ]; then ok else fail fi [ "$out" ] && echo >&2 "$out" else # run config test and abort with nice message if failed # (for actions checking status before action). configtest >/dev/null 2>&1 RETVAL=$? if [ $RETVAL != 0 ]; then show "Checking %s configuration" "syslog-ng"; fail nls 'Configuration test failed. See details with %s "checkconfig"' $0 exit $RETVAL fi fi } start() { # Check if the service is already running? if [ -f /var/lock/subsys/syslog-ng ]; then msg_already_running "syslog-ng" return fi msg_starting "syslog-ng" daemon @@SBINDIR@@/syslog-ng -f /etc/syslog-ng/syslog-ng.conf --worker-threads=1024 $OPTIONS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng } stop() { if [ ! -f /var/lock/subsys/syslog-ng ]; then msg_not_running "syslog-ng" return fi msg_stopping "syslog-ng" killproc syslog-ng rm -f /var/lock/subsys/syslog-ng >/dev/null 2>&1 } condrestart() { if [ ! -f /var/lock/subsys/syslog-ng ]; then msg_not_running "syslog-ng" RETVAL=$1 return fi checkconfig stop start } reload() { if [ ! -f /var/lock/subsys/syslog-ng ]; then msg_not_running "syslog-ng" RETVAL=7 return fi checkconfig msg_reloading "syslog-ng" killproc syslog-ng -HUP RETVAL=$? } flush_logs() { if [ -f /var/lock/subsys/syslog-ng ]; then checkconfig msg_reloading "syslog-ng" killproc syslog-ng -HUP RETVAL=$? else msg_not_running "syslog-ng" RETVAL=7 fi } RETVAL=0 # See how we were called. case "$1" in start) configtest start ;; stop) stop ;; restart) configtest stop start ;; try-restart) condrestart 0 ;; reload|force-reload) reload ;; flush-logs) flush_logs ;; checkconfig|configtest) checkconfig 1 ;; status) status syslog-ng exit $? ;; *) msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status|checkconfig|flush-logs}" exit 3 esac exit $RETVAL