3
# syslog-ng This starts and stops syslog-ng
6
# processname: /opt/syslog-ng/sbin/syslog-ng
7
# config: /opt/syslog-ng/etc/syslog-ng.conf
8
# config: /etc/sysconfig/syslog-ng
9
# pidfile: /var/run/syslog-ng.pid
13
# Description: reads and logs messages to the system console, log \
14
# files, other machines and/or users as specified by \
15
# its configuration file.
16
# Short-Description: Next-generation syslog server. Proprietary edition.
17
# Required-Start: $local_fs
18
# Required-Stop: $local_fs
19
# Default-Start: 2 3 4 5
24
SYSLOGNG_PREFIX=/opt/syslog-ng
25
SYSLOGNG="$SYSLOGNG_PREFIX/sbin/syslog-ng"
26
CONFFILE=$SYSLOGNG_PREFIX/etc/syslog-ng.conf
27
PIDFILE=$SYSLOGNG_PREFIX/var/run/syslog-ng.pid
28
SYSLOGPIDFILE="/var/run/syslog.pid"
30
SLNG_INIT_FUNCTIONS=$SYSLOGNG_PREFIX/lib/init-functions
34
SUBSYSDIR=/var/lock/subsys
38
# OS specific I-didn't-do-anything exit function.
48
# Platform specific echo -n implementation.
60
test -x ${SYSLOGNG} || exit_noop
61
test -r ${CONFFILE} || exit_noop
63
if [ -f /etc/lsb-release ]; then
67
if [ -f "/etc/redhat-release" ];then
68
# redhat uses a different syslogd pidfile...
69
SYSLOGPIDFILE="/var/run/syslogd.pid"
72
if [ "$OS" = "SunOS" ] || [ "$OS" = "Solaris" ];then
73
if [ "`uname -r`" = "5.8" ];then
74
SYSLOGPIDFILE="/etc/syslog.pid"
78
. $SLNG_INIT_FUNCTIONS
82
SYSLOGNG_OPTIONS="--no-caps"
86
#we source /etc/default/syslog-ng if exists
87
[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng
89
# Source config on RPM systems
90
[ -r /etc/sysconfig/syslog-ng ] && . /etc/sysconfig/syslog-ng
92
#we source /etc/default/syslog-ng if exists
93
[ -r $SYSLOGNG_PREFIX/etc/default/syslog-ng ] && \
94
. $SYSLOGNG_PREFIX/etc/default/syslog-ng
97
if grep -v '^#' $CONFFILE | grep /dev/xconsole >/dev/null 2>&1; then
98
if [ ! -e /dev/xconsole ]; then
99
mknod -m 640 /dev/xconsole p
105
${SYSLOGNG} --syntax-only
107
[ $_rval -eq 0 ] || exit $_rval
116
[ -z "$_pid" ] && return 0
118
_procname=`basename $_process`
120
while [ $_cnt -gt 0 ]; do
121
_numproc=`ps -p $_pid $PSOPTS | grep $_procname | wc -l`
122
if [ $_numproc -eq 0 ]; then
125
_cnt=`expr $_cnt - 1`
136
res=`cat /etc/issue | grep Debian`
140
if [ $_rval -ne 0 ];then
141
if [ $is_debian -eq 0 ];then
142
log_failure_msg "failed"
147
if [ $is_debian -eq 0 ];then
156
echo_n "Starting syslog-ng: "
157
PID=`pidofproc -p ${PIDFILE} ${SYSLOGNG} | head -1`
158
if [ -n "$PID" ] && [ $PID -gt 0 ] ;then
159
log_success_msg "already running: $PID"
162
start_daemon -f -p ${PIDFILE} ${SYSLOGNG} ${SYSLOGNG_OPTIONS}
164
returnmessage $retval
165
if [ $retval -eq 0 ];then
166
if [ "$OS" = "Linux" ] && [ -d $SUBSYSDIR ];then
167
touch $SUBSYSDIR/syslog-ng
170
if [ -h $SYSLOGPIDFILE ];then
173
if [ ! -f $SYSLOGPIDFILE ];then
174
ln -s $PIDFILE $SYSLOGPIDFILE
180
# Can't name the function stop, because HP-UX has a default alias named stop...
182
echo_n "Stopping syslog-ng: "
183
PID=`pidofproc -p ${PIDFILE} ${SYSLOGNG} | head -1`
185
if [ $retval -ne 0 ] || [ -z "$PID" ];then
188
killproc -p ${PIDFILE} ${SYSLOGNG}
190
if [ $retval -eq 0 ];then
191
slng_waitforpid "$PID" ${SYSLOGNG}
192
if [ $? -ne 0 ]; then
194
log_failure_msg " Timeout"
195
killproc -p ${PIDFILE} ${SYSLOGNG} -KILL
197
returnmessage $retval
200
if [ $retval -eq 0 ];then
201
rm -f $SUBSYSDIR/syslog-ng ${PIDFILE}
202
if [ -h $SYSLOGPIDFILE ];then
211
echo_n "Restarting syslog-ng: "
218
echo_n "Reloading syslog-ng's config file: "
220
killproc -p ${PIDFILE} ${SYSLOGNG} -HUP
222
returnmessage $retval
227
echo_n "Checking for syslog-ng service: "
228
pid=`pidofproc -p ${PIDFILE} ${SYSLOGNG}`
230
if [ $retval -ne 0 ];then
233
1) msg="dead but pidfile exists." ;;
236
log_failure_msg "$msg"
238
log_success_msg "$pid running"
244
if [ ${CONFFILE} -nt ${PIDFILE} ]; then
251
case "x$CONSOLE_LOG_LEVEL" in
253
dmesg -n $CONSOLE_LOG_LEVEL
258
echo "CONSOLE_LOG_LEVEL is of unaccepted value."
265
# Before syslog-ng starts, save any messages from previous
266
# crash dumps so that messages appear in chronological order.
269
if [ -r /etc/dumpadm.conf ]; then
271
[ "x$DUMPADM_DEVICE" != xswap ] && \
272
/usr/bin/savecore -m -f $DUMPADM_DEVICE
276
# /etc/default/syslog-ng, the HP-UX way.
277
[ -r /etc/rc.config.d/syslog-ng ] && . /etc/rc.config.d/syslog-ng
284
echo "Start syslog-ng system message logging daemon"
287
echo "Stop syslog-ng system message logging daemon"
289
start|stop|restart|reload|probe)
296
PID=`pidofproc -p ${PIDFILE} ${SYSLOGNG} | head -1`
297
if [ -n "$PID" ] && [ $PID -gt 0 ] ;then
306
condrestart|try-restart)
307
[ ! -f $lockfile ] || syslogng_restart
310
echo "Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload|probe}"
317
# vim: ts=2 ft=sh noexpandtab