Commit | Line | Data |
---|---|---|
dc50e618 BS |
1 | #! /bin/sh |
2 | # | |
3 | # bpdyndnsd | |
4 | # | |
fce831fb | 5 | # chkconfig: 35 90 20 |
dc50e618 BS |
6 | # description: Bullet proof dynamic DNS update daemon. |
7 | # processname: bpdyndnsd | |
20040ab1 | 8 | # config: /etc/bpdyndnsd/bpdyndnsd.conf |
c47386eb | 9 | # pidfile: /var/run/bpdyndnsd/bpdyndnsd.pid |
dc50e618 BS |
10 | |
11 | # Source function library. | |
12 | . /etc/rc.d/init.d/functions | |
13 | ||
20040ab1 BS |
14 | # Configuration |
15 | . /etc/sysconfig/bpdyndnsd | |
dc50e618 | 16 | |
20040ab1 BS |
17 | # Prog name |
18 | progname="bpdyndnsd (dynamic DNS update daemon)" | |
19 | # User and group | |
20 | user=bpdyndnsd | |
21 | group=bpdyndnsd | |
22 | # Binary file | |
23 | prog=/usr/bin/bpdyndnsd | |
24 | # PID file | |
c47386eb | 25 | pidfile=/var/run/bpdyndnsd/bpdyndnsd.pid |
dc50e618 | 26 | |
20040ab1 BS |
27 | test -x ${prog} || exit 0 |
28 | test -e /etc/bpdyndnsd/bpdyndnsd.conf || exit 0 | |
dc50e618 | 29 | |
dc50e618 BS |
30 | |
31 | ## | |
32 | ## the functions: | |
33 | ## | |
34 | ||
35 | start() { | |
20040ab1 BS |
36 | [ -f /var/lock/subsys/bpdyndnsd ] && stop |
37 | ||
38 | if [ $START_BPDYNDNSD -eq 1 ]; then | |
39 | # Check if this is really bpdyndnsd's pid file | |
40 | if [ -f $pidfile ]; then | |
41 | if ! grep -s -q "bpdyndnsd" /proc/`cat $pidfile`/cmdline; then | |
42 | echo "Unlinking non-bpdyndnsd pid file" | |
43 | rm -f $pidfile | |
44 | fi | |
45 | fi | |
dc50e618 | 46 | |
20040ab1 | 47 | echo -n "Starting $progname: " |
fce831fb | 48 | daemon --user bpdyndnsd $prog --daemon_mode 1 --syslog 1; |
20040ab1 BS |
49 | RETVAL=$? |
50 | [ $RETVAL -eq 0 ] && success || failure | |
51 | echo | |
52 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bpdyndnsd | |
53 | fi | |
dc50e618 BS |
54 | } |
55 | ||
56 | stop() { | |
20040ab1 BS |
57 | if [ ! -f /var/lock/subsys/bpdyndnsd ]; then |
58 | return 0 | |
59 | fi | |
dc50e618 | 60 | |
20040ab1 | 61 | echo -n "Stopping $progname: " |
dc50e618 BS |
62 | killproc bpdyndnsd |
63 | RETVAL=$? | |
20040ab1 | 64 | [ $RETVAL -eq 0 ] && success || failure |
dc50e618 | 65 | echo |
20040ab1 | 66 | [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bpdyndnsd |
dc50e618 BS |
67 | } |
68 | ||
69 | reload() { | |
20040ab1 | 70 | echo -n "Reloading $progname: " |
dc50e618 BS |
71 | killproc bpdyndnsd -HUP |
72 | RETVAL=$? | |
20040ab1 | 73 | [ $RETVAL -eq 0 ] && success || failure |
dc50e618 | 74 | echo |
20040ab1 | 75 | } |
dc50e618 | 76 | |
20040ab1 BS |
77 | restart() { |
78 | stop | |
79 | start | |
dc50e618 BS |
80 | } |
81 | ||
64ff14c3 BS |
82 | online() { |
83 | echo -n "Switching $progname to online mode: " | |
84 | killproc bpdyndnsd -USR2 | |
85 | RETVAL=$? | |
86 | [ $RETVAL -eq 0 ] && success || failure | |
87 | echo | |
88 | } | |
89 | ||
90 | online_webcheck() { | |
91 | echo -n "Switching $progname to online mode with webcheck enabled: " | |
92 | killproc bpdyndnsd -RTMIN | |
93 | RETVAL=$? | |
94 | [ $RETVAL -eq 0 ] && success || failure | |
95 | echo | |
96 | } | |
97 | ||
98 | offline() { | |
99 | echo -n "Switching $progname to offline mode: " | |
100 | killproc bpdyndnsd -USR1 | |
101 | RETVAL=$? | |
102 | [ $RETVAL -eq 0 ] && success || failure | |
103 | echo | |
104 | } | |
20040ab1 | 105 | |
dc50e618 BS |
106 | ## |
107 | ## determine what we should do: | |
108 | ## | |
109 | case "$1" in | |
110 | start) | |
111 | start | |
112 | ;; | |
113 | stop) | |
114 | stop | |
115 | ;; | |
116 | status) | |
20040ab1 BS |
117 | status $prog |
118 | RETVAL=$? | |
dc50e618 BS |
119 | ;; |
120 | restart) | |
20040ab1 | 121 | restart |
dc50e618 BS |
122 | ;; |
123 | reload) | |
124 | reload | |
125 | ;; | |
126 | condrestart) | |
20040ab1 | 127 | [ -f /var/lock/subsys/bpdyndnsd ] && restart || : |
dc50e618 | 128 | ;; |
64ff14c3 BS |
129 | online) |
130 | online | |
131 | ;; | |
132 | online_webcheck) | |
133 | online_webcheck | |
134 | ;; | |
135 | offline) | |
136 | offline | |
137 | ;; | |
dc50e618 | 138 | *) |
64ff14c3 | 139 | echo "Usage: bpdyndnsd {start|stop|status|restart|reload|condrestart|online|online_webcheck|offline}" |
20040ab1 | 140 | RETVAL=1 |
dc50e618 BS |
141 | esac |
142 | ||
143 | exit $RETVAL |