X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ddclient.init;h=7018c43c5bc2d3c91657a6b107076d1f4bfe969a;hb=646ad705aa91608d150b67f0f31bd7d6dde6f44d;hp=da96dc44f97e0e35fc750f60b199ae5d2d52665e;hpb=68b71e41842604228613909a7f3820a9f6a9c15a;p=packages%2Fddclient.git diff --git a/ddclient.init b/ddclient.init old mode 100644 new mode 100755 index da96dc4..7018c43 --- a/ddclient.init +++ b/ddclient.init @@ -18,59 +18,74 @@ # Check that networking is up. if is_yes "${NETWORKING}"; then - if [ ! -f /var/lock/subsys/network ]; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "Dynamic DNS Client" exit 1 fi else exit 0 fi - -# See how we were called. -case "$1" in - start) +start() { # Check if the service is already running? - if [ ! -f /var/lock/subsys/ddclient ]; then - msg_starting "Dynamic DNS Client" - daemon /usr/sbin/ddclient -daemon 300 - RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ddclient - else + if [ -f /var/lock/subsys/ddclient ]; then msg_already_running "Dynamic DNS Client" + return + fi + + msg_starting "Dynamic DNS Client" + interval=$(awk -F= '{gsub(/[ \t]*#.*/, "")} $1 == "daemon" {print $2}' /etc/ddclient/ddclient.conf) + daemon /usr/sbin/ddclient -daemon ${interval:-300} + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ddclient +} + +stop() { + if [ ! -f /var/lock/subsys/ddclient ]; then + msg_not_running "Dynamic DNS Client" + return + fi + + msg_stopping "Dynamic DNS Client" + killproc ddclient + rm -f /var/run/ddclient.pid /var/lock/subsys/ddclient >/dev/null 2>&1 +} + +reload() { + if [ ! -f /var/lock/subsys/ddclient ]; then + msg_not_running "Dynamic DNS Client" + RETVAL=7 + return fi + + msg_reloading "Dynamic DNS Client" + killproc ddclient -HUP + RETVAL=$? +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start ;; stop) - if [ -f /var/lock/subsys/ddclient ]; then - msg_stopping "Dynamic DNS Client" - killproc ddclient - rm -f /var/run/ddclient.pid /var/lock/subsys/ddclient >/dev/null 2>&1 - else - msg_not_running "Dynamic DNS Client" - exit 1 - fi + stop ;; restart) - $0 stop - $0 start + stop + start + ;; + reload|force-reload) + reload ;; status) status ddclient exit $? ;; - reload) - if [ -f /var/lock/subsys/ddclient ]; then - msg_reloading "Dynamic DNS Client" - killproc ddclient -HUP - RETVAL=$? - else - msg_not_running "Dynamic DNS Client" - exit 1 - fi - ;; *) - msg_usage "$0 {start|stop|restart|reload|status}" - exit 1 + msg_usage "$0 {start|stop|restart|reload|force-reload|status}" + exit 3 esac exit $RETVAL