slackbuilds/system/syslog-ng/rc.syslog-ng

54 lines
1.2 KiB
Bash

#!/bin/sh
# Start/stop/restart the syslog-ng daemon.
# Specially tailored to emulate Slackware's stock syslogd/klogd.
#
# Written by mario <mario@slackverse.org>.
syslog_start() {
if [ -x /usr/sbin/syslog-ng ]; then
if [ -f /var/run/syslog-ng.pid ] && kill -0 $(cat /var/run/syslog-ng.pid) 2> /dev/null; then
echo "syslog-ng daemon already running!"
return
fi
echo "Starting syslog-ng daemon: /usr/sbin/syslog-ng"
/usr/sbin/syslog-ng -R /var/lib/syslog-ng/syslog-ng.persist
# Create a fake syslogd.pid file for rc.M
if [ -f /var/run/syslog-ng.pid ] && kill -0 $(cat /var/run/syslog-ng.pid) 2> /dev/null; then
cp -a /var/run/syslog-ng.pid /var/run/syslogd.pid
fi
fi
}
syslog_stop() {
if [ -f /var/run/syslog-ng.pid ]; then
echo "Stopping syslog-ng daemon"
kill $(cat /var/run/syslog-ng.pid) 2> /dev/null && rm -f /var/run/syslog-ng.pid
# Remove a fake pid file
rm -f /var/run/syslogd.pid
fi
killall syslog-ng 2> /dev/null
}
syslog_restart() {
syslog_stop
sleep 1
syslog_start
}
case "$1" in
'start')
syslog_start
;;
'stop')
syslog_stop
;;
'restart')
syslog_restart
;;
*)
echo "usage $0 start|stop|restart"
esac