]> git.pld-linux.org Git - packages/rsyslog.git/commitdiff
- check config before start/restart
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Mon, 7 Mar 2011 13:44:48 +0000 (13:44 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    rsyslog.init -> 1.5

rsyslog.init

index 1a131c4c527450e6265fcb7e97b13f945bd1e199..a846283a232bccf95bc5312d95b4bdd0ca92ae6b 100644 (file)
@@ -19,6 +19,36 @@ if [ -f /etc/sysconfig/rsyslog ] ; then
        . /etc/sysconfig/rsyslog
 fi
 
+configtest() {
+       rsyslogd $SYSLOGD_OPTIONS -N1 -i /var/run/rsyslogd-syntaxcheck.pid
+       return $?
+}
+
+checkconfig() {
+       local details=${1:-0}
+
+       if [ $details = 1 ]; then
+               show "Checking %s configuration" "rsyslog"; busy
+               local out
+               out=$(configtest 2>&1)
+               RETVAL=$?
+               if [ $RETVAL = 0 ]; then
+                       ok
+               else
+                       fail
+               fi
+               [ "$out" ] && echo >&2 "$out"
+       else
+               configtest >/dev/null 2>&1
+               RETVAL=$?
+               if [ $RETVAL != 0 ]; then
+                       show "Checking %s configuration" "rsyslog"; fail
+                       nls 'Configuration test failed. See details with %s "checkconfig"' $0
+                       exit $RETVAL
+               fi
+       fi
+}
+
 start() {
        if [ ! -f /var/lock/subsys/rsyslog ]; then
                umask 077
@@ -64,28 +94,33 @@ condrestart() {
 
 RETVAL=0
 case "$1" in
-  start)
-        start
-        ;;
-  stop)
-        stop
-        ;;
-  restart)
-        stop
-       start
-        ;;
-  try-restart)
-       condrestart 0
-       ;;
-  reload|force-reload)
-       reload
-       ;;
-  status)
-        status rsyslogd
-        ;;
-  *)
-        msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
-        exit 3
+       start)
+               checkconfig
+               start
+               ;;
+       stop)
+               stop
+               ;;
+       restart)
+               checkconfig
+               stop
+               start
+               ;;
+       try-restart)
+               condrestart 0
+               ;;
+       reload|force-reload)
+               reload
+               ;;
+       checkconfig|configtest)
+               checkconfig 1
+               ;;
+       status)
+               status rsyslogd
+               ;;
+       *)
+               msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|checkconfig|status}"
+               exit 3
 esac
 
 exit $RETVAL
This page took 0.0994119999999999 seconds and 4 git commands to generate.