summaryrefslogtreecommitdiff
path: root/core/syslog-ng/syslog-ng.rc
diff options
context:
space:
mode:
Diffstat (limited to 'core/syslog-ng/syslog-ng.rc')
-rwxr-xr-xcore/syslog-ng/syslog-ng.rc28
1 files changed, 26 insertions, 2 deletions
diff --git a/core/syslog-ng/syslog-ng.rc b/core/syslog-ng/syslog-ng.rc
index fbd41fc7b..bb5320b2c 100755
--- a/core/syslog-ng/syslog-ng.rc
+++ b/core/syslog-ng/syslog-ng.rc
@@ -3,10 +3,20 @@
. /etc/rc.conf
. /etc/rc.d/functions
+checkconfig() {
+ syslog-ng -s -f /etc/syslog-ng/syslog-ng.conf
+ if [ $? -gt 0 ]; then
+ stat_busy "Configuration error. Please fix your config file (/etc/syslog-ng/syslog-ng.conf)."
+ stat_fail
+ exit 0
+ fi
+}
+
PID=`pidof -o %PPID /usr/sbin/syslog-ng`
case "$1" in
start)
stat_busy "Starting Syslog-NG"
+ checkconfig
[ -z "$PID" ] && /usr/sbin/syslog-ng
if [ $? -gt 0 ]; then
stat_fail
@@ -17,7 +27,7 @@ case "$1" in
;;
stop)
stat_busy "Stopping Syslog-NG"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
@@ -28,12 +38,26 @@ case "$1" in
stat_done
fi
;;
+ reload)
+ stat_busy "Reloading Syslog-NG configuration and re-opening log files"
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ checkconfig
+ kill -HUP $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ ;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "usage: $0 {start|stop|restart|reload}"
esac
exit 0