]> git.pld-linux.org Git - packages/pdns.git/blobdiff - pdns.init
- rel 2
[packages/pdns.git] / pdns.init
index 07c75dfd41122ddeac6d8c8370271d8e7c0bac17..87965ed789a41eb819df07b432cd69ec601fa1c2 100644 (file)
--- a/pdns.init
+++ b/pdns.init
@@ -1,7 +1,7 @@
 #!/bin/sh
 # pdns         This is controller stript for PowerDNS name server.
 #
-# chkconfig:   345 80 75
+# chkconfig:   345 85 15
 #
 # description: pdns is is a Domain Name Server (DNS) \
 #              that is used to resolve host names to IP addresses.
 . /etc/sysconfig/network
 
 # Check that networking is up.
-if is_no "${NETWORKING}"; then
-        msg_network_down "pdns"
-        exit 1
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+               msg_network_down "PowerDNS"
+               exit 1
+       fi
+else
+       exit 0
 fi
 
 BINARYPATH=/usr/sbin
@@ -24,8 +28,7 @@ SOCKETPATH=/var/run
 
 cd /var/run
 suffix=`basename $0 | awk -F- '{print $2}'`
-if [ $suffix ] 
-then
+if [ $suffix ]; then
        EXTRAOPTS=--config-name=$suffix
        PROGNAME=pdns-$suffix
 else
@@ -35,152 +38,124 @@ fi
 pdns_server="/usr/sbin/pdns_server $EXTRAOPTS"
 
 doPC() {
-    ret=$(/usr/sbin/pdns_control $EXTRAOPTS $1 $2 2> /dev/null)
+       ret=$(/usr/bin/pdns_control $EXTRAOPTS $1 $2 2> /dev/null)
 }
 
-if [ "$1" != "mrtg" -a "$1" != "cricket" ] 
-then
-       echo -n "$PROGNAME: "
-fi
-
 doPC ping
 NOTRUNNING=$?
 
+RETVAL=0
 case "$1" in
-       status)
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       doPC status
-                       echo $ret
-               else
-                       echo "not running"
-               fi 
-       ;;      
-
-       stop)
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       doPC quit
-                       echo $ret
-               else
-                       echo "not running"
-               fi 
-       ;;              
-
-       force-stop)
-               killall -v -9 pdns_server
+  status)
+       status pdns_server
+       exit $?
        ;;
-
-       start)
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       echo "already running"
-               else
-                       $pdns_server --daemon --guardian=yes
-                       if test "$?" = "0"
-                       then
-                               echo "started"  
-                       fi
-               fi 
-       ;;              
-
-       force-reload | restart)
-               echo -n stopping and waiting
-               doPC quit
-               sleep 3
-               echo 
-               $0 start
+  stop)
+       if test "$NOTRUNNING" = "0"; then
+               msg_stopping "PowerDNS"
+               doPC quit 2>&1 >/dev/null
+               [ $? -eq 0 ] && ok || fail
+               rm /var/lock/subsys/pdns
+       else
+               msg_not_running "PowerDNS"
+       fi
        ;;
-
-       reload) 
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       doPC cycle
-                       echo requested reload
-               else
-                       echo not running yet
-                       $0 start
-               fi 
-       ;;              
-               
-       monitor)
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       echo "already running"
-               else
-                       $pdns_server --daemon=no --guardian=no --control-console --loglevel=9
-               fi 
-       ;;              
-
-       dump)
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       doPC list
-                       echo $ret
-               else
-                       echo "not running"
-               fi 
-       ;;              
-
-       show)
-               if [ $# -lt 2 ]
-               then
-                       echo Insufficient parameters
-                       exit
-               fi 
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       echo -n "$2="
-                       doPC show $2 ; echo $ret
-               else
-                       echo "not running"
-               fi 
-       ;;              
-
-       mrtg)
-               if [ $# -lt 2 ]
-               then
-                       echo Insufficient parameters
-                       exit
-               fi 
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       doPC show $2 ; echo $ret
-                       if [ "$3x" != "x" ]
-                       then
-                               doPC show $3 ; echo $ret
-                       else
-                               echo 0
-                       fi
-                       doPC uptime ; echo $ret
-                       echo PowerDNS daemon
+  force-stop)
+       run_cmd "Killing PowerDNS without grace" killall -v -9 pdns_server
+       ;;
+  start)
+       if test "$NOTRUNNING" = "0"; then
+               msg_already_running "PowerDNS"
+       else
+               msg_starting "PowerDNS (Powered DNS server)"
+               daemon $pdns_server --daemon --guardian=yes
+               RETVAL=$?
+               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pdns
+       fi
+       ;;
+  restart)
+       $0 stop
+       run_cmd "PowerDNS (3 sec. timeout)" sleep 3
+       $0 start
+       exit $?
+       ;;
+  reload|force-reload)
+       if test "$NOTRUNNING" = "0"; then
+               show "Reloading PowerDNS"
+               doPC cycle 2>&1 >/dev/null
+               if [ $? -eq 0 ]; then
+                       ok
                else
-                       echo "not running"
-               fi 
-       
-       ;;              
-
-       cricket)
-               if [ $# -lt 2 ]
-               then
-                       echo Insufficient parameters
-                       exit
-               fi 
-               if test "$NOTRUNNING" = "0" 
-               then 
-                       doPC show $2 ; echo $ret
+                       fail
+                       RETVAL=1
+               fi
+       else
+               msg_not_running "PowerDNS" >&2
+               exit 7
+       fi
+       ;;
+  monitor)
+       if test "$NOTRUNNING" = "0"; then
+               msg_already_running "PowerDNS"
+       else
+               show "PowerDNS in foreground (testing mode)"
+               $pdns_server --daemon=no --guardian=no --control-console --loglevel=9
+       fi
+       ;;
+  dump)
+       if test "$NOTRUNNING" = "0"; then
+               doPC list
+               echo $ret
+       else
+               msg_not_running "PowerDNS"
+       fi
+       ;;
+  show)
+       if [ $# -lt 2 ]; then
+               msg_usage "$0 {show|mrtg|cricket} <variable_name_from_pdns_dump>"
+               exit 2
+       fi
+       if test "$NOTRUNNING" = "0"; then
+               echo -n "$2="
+               doPC show $2 ; echo $ret
+       else
+               msg_not_running "PowerDNS"
+       fi
+       ;;
+  mrtg)
+       if [ $# -lt 2 ]; then
+               msg_usage "$0 {show|mrtg|cricket} <variable_name_from_pdns_dump>"
+               exit 2
+       fi
+       if test "$NOTRUNNING" = "0"; then
+               doPC show $2 ; echo $ret
+               if [ "$3x" != "x" ]; then
+                       doPC show $3 ; echo $ret
                else
-                       echo "not running"
-               fi 
-       
-       ;;              
-
-
-
-       *)
-       echo pdns [start\|stop\|force-reload\|restart\|status\|dump\|show\|mrtg\|cricket\|monitor]
-
+                       echo 0
+               fi
+               doPC uptime ; echo $ret
+               echo PowerDNS daemon
+       else
+               msg_not_running "PowerDNS" >&2
+               exit 7
+       fi
        ;;
+  cricket)
+       if [ $# -lt 2 ]; then
+               msg_usage "$0 {show|mrtg|cricket} <variable_name_from_pdns_dump>"
+               exit 2
+       fi
+       if test "$NOTRUNNING" = "0"; then
+               doPC show $2 ; echo $ret
+       else
+               msg_not_running "PowerDNS" >&2
+               exit 7
+       fi
+       ;;
+  *)
+       msg_usage "$0 {start|stop|restart|reload|force-reload|status|dump|show|mrtg|cricket|monitor} [...]"
+       exit 3
 esac
 
-
+exit $RETVAL
This page took 0.092946 seconds and 4 git commands to generate.