Fix 'occurred' typo
[bpdyndnsd] / scripts / bpdyndnsd
CommitLineData
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
18progname="bpdyndnsd (dynamic DNS update daemon)"
19# User and group
20user=bpdyndnsd
21group=bpdyndnsd
22# Binary file
23prog=/usr/bin/bpdyndnsd
24# PID file
c47386eb 25pidfile=/var/run/bpdyndnsd/bpdyndnsd.pid
dc50e618 26
20040ab1
BS
27test -x ${prog} || exit 0
28test -e /etc/bpdyndnsd/bpdyndnsd.conf || exit 0
dc50e618 29
dc50e618
BS
30
31##
32## the functions:
33##
34
35start() {
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
56stop() {
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
69reload() {
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
77restart() {
78 stop
79 start
dc50e618
BS
80}
81
64ff14c3
BS
82online() {
83 echo -n "Switching $progname to online mode: "
84 killproc bpdyndnsd -USR2
85 RETVAL=$?
86 [ $RETVAL -eq 0 ] && success || failure
87 echo
88}
89
90online_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
98offline() {
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##
109case "$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
141esac
142
143exit $RETVAL