Fix 'occurred' typo
[bpdyndnsd] / scripts / bpdyndnsd
1 #! /bin/sh
2 #
3 # bpdyndnsd
4 #
5 # chkconfig: 35 90 20
6 # description: Bullet proof dynamic DNS update daemon.
7 # processname: bpdyndnsd
8 # config: /etc/bpdyndnsd/bpdyndnsd.conf
9 # pidfile: /var/run/bpdyndnsd/bpdyndnsd.pid
10
11 # Source function library.
12 . /etc/rc.d/init.d/functions
13
14 # Configuration
15 . /etc/sysconfig/bpdyndnsd
16
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
25 pidfile=/var/run/bpdyndnsd/bpdyndnsd.pid
26
27 test -x ${prog} || exit 0
28 test -e /etc/bpdyndnsd/bpdyndnsd.conf || exit 0
29
30
31 ##
32 ## the functions:
33 ##
34
35 start() {
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
46
47         echo -n "Starting $progname: "
48         daemon --user bpdyndnsd $prog --daemon_mode 1 --syslog 1;
49         RETVAL=$?
50         [ $RETVAL -eq 0 ] && success || failure
51         echo
52         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bpdyndnsd
53     fi
54 }
55
56 stop() {
57     if [ ! -f /var/lock/subsys/bpdyndnsd ]; then
58         return 0
59     fi
60
61     echo -n "Stopping $progname: "
62     killproc bpdyndnsd
63     RETVAL=$?
64     [ $RETVAL -eq 0 ] && success || failure
65     echo
66     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bpdyndnsd
67 }
68
69 reload() {
70     echo -n "Reloading $progname: "
71     killproc bpdyndnsd -HUP
72     RETVAL=$?
73     [ $RETVAL -eq 0 ] && success || failure
74     echo
75 }
76
77 restart() {
78     stop
79     start
80 }
81
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 }
105
106 ##
107 ## determine what we should do:
108 ##
109 case "$1" in
110     start)
111         start
112         ;;
113     stop)
114         stop
115         ;;
116     status)
117         status $prog
118         RETVAL=$?
119         ;;
120     restart)
121         restart
122         ;;
123     reload)
124         reload
125         ;;
126     condrestart)
127         [ -f /var/lock/subsys/bpdyndnsd ] && restart || : 
128         ;;
129     online)
130         online
131         ;;
132     online_webcheck)
133         online_webcheck
134         ;;
135     offline)
136         offline
137         ;;
138     *)
139         echo "Usage: bpdyndnsd {start|stop|status|restart|reload|condrestart|online|online_webcheck|offline}"
140         RETVAL=1
141 esac
142
143 exit $RETVAL