#! /bin/sh # # Copyright (c) 1996-2001 SuSE GmbH Nuernberg, Germany. # Copyright (c) 2002-2003 SuSE Linux AG, Nuernberg, Germany. # # Author: Florian La Roche , 1996 # Werner Fink , 1998-2001 # # /etc/init.d/syslog # ### BEGIN INIT INFO # Provides: syslog # Required-Start: network # Should-Start: earlysyslog # Required-Stop: network # Default-Start: 2 3 5 # Default-Stop: # Description: Start the system logging daemons ### END INIT INFO . /etc/sysconfig/syslog BINDIR=/sbin case "$SYSLOG_DAEMON" in syslog-ng) syslog=syslog-ng config=/etc/syslog-ng/syslog-ng.conf params="$SYSLOG_NG_PARAMS" ;; *) syslog=syslogd config=/etc/syslog.conf params="$SYSLOGD_PARAMS" ;; esac # add additional sockets to params for variable in ${!SYSLOGD_ADDITIONAL_SOCKET*}; do eval value=\$$variable test -n "${value}" && test -d ${value%/*} && \ params="$params -a $value" done syslog_pid="/var/run/${syslog}.pid" syslog_bin=${BINDIR}/$syslog klog_bin=${BINDIR}/klogd syslog_use="" # check config and programs test -s ${config} || { echo 1>&2 "${config} does not exist" if test "$1" == "stop" ; then exit 0 ; else exit 6 ; fi } test -x ${syslog_bin} || { echo 1>&2 "${syslog_bin} is not installed" if test "$1" == "stop" ; then exit 0 ; else exit 5 ; fi } test -x ${klog_bin} || { echo 1>&2 "${klog_bin} is not installed" if test "$1" == "stop" ; then exit 0 ; else exit 5 ; fi } test -s /var/lock/subsys/syslogd && { read -t 5 syslog_use < /var/lock/subsys/syslogd } test -z "$syslog_use" && syslog_use=${syslog_bin} # # Do not translate symbol addresses for 2.6 kernel # case `uname -r` in 0.*|1.*|2.[0-4].*) ;; *) KLOGD_PARAMS="${KLOGD_PARAMS:+$KLOGD_PARAMS }-x" ;; esac . /etc/rc.status rc_reset case "$1" in start) if test -f /var/lock/subsys/earlysyslog ; then # Syslog service already done rm -f /var/lock/subsys/earlysyslog exit 0 fi if test "$2" = "early" ; then # Start syslog service early touch /var/lock/subsys/earlysyslog fi if ! test -e /dev/xconsole ; then mkfifo -m 0600 /dev/xconsole chown root:tty /dev/xconsole fi if test -s /var/run/klogd.pid ; then killproc ${klog_bin} fi if test -s ${syslog_pid} ; then killproc -p ${syslog_pid} ${syslog_use} echo -n "Re-" fi echo -n "Starting syslog services" test -z "$KERNEL_LOGLEVEL" && KERNEL_LOGLEVEL=1 startproc -p ${syslog_pid} ${syslog_bin} ${params} rc_status # Remember the currently used syslog daemon echo ${syslog_bin} > /var/lock/subsys/syslogd if test $? -eq 0 ; then startproc ${klog_bin} -c $KERNEL_LOGLEVEL $KLOGD_PARAMS rc_status fi rc_status -v ;; stop) rm -f /var/lock/subsys/earlysyslog test "$2" = "early" && exit 0 echo -n "Shutting down syslog services" killproc -TERM ${klog_bin} ; rc_status killproc -p ${syslog_pid} -TERM ${syslog_use} ; rc_status -v rm -f /var/lock/subsys/syslogd ;; try-restart|condrestart) if test "$1" = "condrestart"; then echo "${attn} Use try-restart ${done}(LSB)${attn} instead${norm}" fi $0 status if test $? = 0; then $0 restart else rc_reset # Not running is not a failure. fi rc_status ;; restart) $0 stop $0 start rc_status ;; reload|force-reload) echo -n "Reload syslog service" killproc -TSTP ${klog_bin} ; rc_status killproc -p ${syslog_pid} -HUP ${syslog_use} ; rc_status killproc -CONT ${klog_bin} ; rc_status killproc -USR2 ${klog_bin} ; rc_status -v ;; status) echo -n "Checking for service syslog:" checkproc ${klog_bin} ; rc_status checkproc -p ${syslog_pid} ${syslog_use} ; rc_status -v ;; probe) test ${config} -nt ${syslog_pid} && echo reload ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit