]> git.pld-linux.org Git - packages/syslog-ng.git/blobdiff - syslog-ng.init
- fixed test cases
[packages/syslog-ng.git] / syslog-ng.init
index ccd93346f2701c57994fe8839b2322c79167a688..2ae567791ee8e137eb71d3e0bb0c88e8e0ac98d1 100644 (file)
@@ -21,8 +21,21 @@ if [ -f /etc/sysconfig/syslog-ng ]; then
        . /etc/sysconfig/syslog-ng
 fi
 
+checkconfig() {
+       syslog-ng $OPTIONS -F -s -p /var/run/syslog-ng-syntaxcheck.pid
+       RETVAL=$?
+       return $RETVAL
+}
+
 configtest() {
-       syslog-ng $OPTIONS -F -s -p /var/run/syslog-ng-syntaxcheck.pid || exit 1
+       checkconfig 2>/dev/null
+       RETVAL=$?
+       if [ $RETVAL != 0 ]; then
+               show "Checking syslog-ng config syntax"
+               fail
+               echo >&2 "Configuration file syntax test failed. Run $0 configtest to see errors."
+               exit $RETVAL
+       fi
 }
 
 start() {
@@ -43,24 +56,50 @@ stop() {
                killproc syslog-ng
                rm -f /var/lock/subsys/syslog-ng >/dev/null 2>&1
        else
-               msg_not_running syslog-ng
+               msg_not_running "syslog-ng"
        fi
 }
 
 condrestart() {
        if [ -f /var/lock/subsys/syslog-ng ]; then
+               configtest
                stop
                start
        else
-               msg_not_running syslog-ng
+               msg_not_running "syslog-ng"
                RETVAL=$1
        fi
 }
 
+reload() {
+       if [ -f /var/lock/subsys/syslog-ng ]; then
+               configtest
+               msg_reloading "syslog-ng"
+               killproc syslog-ng -HUP
+               RETVAL=$?
+       else
+               msg_not_running "syslog-ng"
+               exit 7
+       fi
+}
+
+flush_logs() {
+       if [ -f /var/lock/subsys/syslog-ng ]; then
+               configtest
+               msg_reloading "syslog-ng"
+               killproc syslog-ng -HUP
+               RETVAL=$?
+       else
+               msg_not_running "syslog-ng"
+               exit 7
+       fi
+}
+
 RETVAL=0
 # See how we were called.
 case "$1" in
   start)
+       configtest
        start
        ;;
   stop)
@@ -72,43 +111,20 @@ case "$1" in
        start
        ;;
   try-restart)
-       configtest
        condrestart 0
        ;;
   reload|force-reload)
-       if [ -f /var/lock/subsys/syslog-ng ]; then
-               msg_reloading "syslog-ng"
-               configtest
-               RETVAL=$?
-               if [ $RETVAL -eq 0 ]; then
-                       killproc syslog-ng -HUP
-                       RETVAL=$?
-               else
-                       fail
-                       echo >&2 "Configuration file syntax test failed."
-               fi
-       else
-               msg_not_running syslog-ng
-               exit 7
-       fi
+       reload
        ;;
   flush-logs)
-       if [ -f /var/lock/subsys/syslog-ng ]; then
-               msg_reloading "syslog-ng"
-               configtest
-               RETVAL=$?
-               if [ $RETVAL -eq 0 ]; then
-                       killproc syslog-ng -HUP
-                       RETVAL=$?
-               else
-                       fail
-                       echo >&2 "Configuration file syntax test failed."
-               fi
-       fi
+       flush_logs
        ;;
   configtest)
-       configtest
-       exit $?
+       show "Checking syslog-ng config syntax"
+       res=$(checkconfig 2>&1)
+       RETVAL=$?
+       [ $RETVAL = 0 ] && ok || fail
+       echo >&2 "$res"
        ;;
   status)
        status syslog-ng
This page took 0.124138 seconds and 4 git commands to generate.