Hello,
i now edited the syslog-ng Debian Init Script to fit the LSB spec. Now it should be cluster ready. See the new Script version below. Feedback is appreciated and I hope it helps somebody. ------------------------------------------------------------------------ ------------------------------------------------------------------------ --------- #! /bin/sh ### BEGIN INIT INFO # Provides: syslog # Required-Start: $local_fs $network $time $remote_fs # Required-Stop: $local_fs $network $time $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starting system logging daemon # Description: Starting syslog-NG, the next generation # syslog daemon. ### END INIT INFO# # # skeleton example file to build /etc/init.d/ scripts. # This file should be used to construct scripts for /etc/init.d. # # Written by Miquel van Smoorenburg <miqu...@cistron.nl>. # Modified for Debian GNU/Linux # by Ian Murdock <imurd...@gnu.ai.mit.edu>. # # Version: @(#)skeleton 1.8 03-Mar-1998 miqu...@cistron.nl # This file was customized by SZALAY Attila <s...@debian.org> # # EDIT: This file was editied by Sebastian koch, Fa. NETZWERK GmbH # to fit the LSB spec in order to be cluster-ready (pacemaker) # #we source /etc/default/syslog-ng if exists [ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng # stop syslog-ng before changing its PID file! PIDFILE="/var/run/syslog-ng.pid" SYSLOGNG="/usr/sbin/syslog-ng" NAME="syslog-ng" PATH=/sbin:/bin:/usr/sbin:/usr/bin test -f $SYSLOGNG || exit 0 # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions case "x$CONSOLE_LOG_LEVEL" in x[1-8]) dmesg -n $CONSOLE_LOG_LEVEL ;; x) ;; *) log_warning_msg "CONSOLE_LOG_LEVEL is of unaccepted value." ;; esac if [ -n "$KERNEL_RINGBUF_SIZE" ] then log_warning_msg "KERNEL_RINGBUF_SIZE option is useless and therefore removed." fi check_started() { if [ -f "$PIDFILE" ]; then pid="$(cat $PIDFILE)" if [ "$pid" ] && kill -0 $pid >/dev/null; then return 0 # Is started fi fi return 1 # Isn't started } create_xconsole() { if [ ! -e /dev/xconsole ] then mknod -m 640 /dev/xconsole p fi } syslogng_start() { if ! check_started; then log_daemon_msg "Starting system logging" "$NAME" create_xconsole start-stop-daemon --start --quiet --exec "$SYSLOGNG" \ --pidfile "$PIDFILE" -- -p "$PIDFILE" RET="$?" log_end_msg $RET return $RET else log_warning_msg "already running!" fi return $ret } syslogng_stop() { if check_started; then log_daemon_msg "Stopping system logging" "$NAME" start-stop-daemon --stop --quiet --name "$NAME" --retry 3 \ --pidfile "$PIDFILE" RET="$?" log_end_msg $RET rm -f "$PIDFILE" return $RET else log_warning_msg "isn't running!" fi return $ret } syslogng_reload() { log_daemon_msg "Reload system logging" "$NAME" if $SYSLOGNG -s then start-stop-daemon --stop --signal 1 --quiet --exec "$SYSLOGNG" \ --pidfile "$PIDFILE" RET="$?" log_end_msg $RET return $RET else log_end_msg 1 return 1 fi } DAEMON=$NAME; syslogng_status() { log_action_begin_msg "checking $DAEMON" if check_started; then log_action_end_msg 0 "running" else if [ -e "$PIDFILE" ]; then log_action_end_msg 1 "$DAEMON failed" exit 1 else log_action_end_msg 0 "not running" exit 3 fi fi } case "$1" in start) syslogng_start || exit 1 ;; stop) syslogng_stop || exit 1 ;; status) syslogng_status || exit 1 ;; reload|force-reload) syslogng_reload || exit 1 ;; restart) syslogng_stop syslogng_start || exit 1 ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|restart|status|reload|force-reload}" >&2 exit 1 ;; esac exit 0 ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------- Sebastian Koch
_______________________________________________ Pacemaker mailing list: Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker