diff options
Diffstat (limited to 'system/syslog-ng/rc.syslog-ng')
-rw-r--r-- | system/syslog-ng/rc.syslog-ng | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/system/syslog-ng/rc.syslog-ng b/system/syslog-ng/rc.syslog-ng new file mode 100644 index 000000000000..1d5511b64817 --- /dev/null +++ b/system/syslog-ng/rc.syslog-ng @@ -0,0 +1,53 @@ +#!/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 + |