]>
Commit | Line | Data |
---|---|---|
cddf944e ER |
1 | #!/bin/sh |
2 | # | |
3 | # Startup script for the BNC | |
4 | # | |
5 | # chkconfig: 2345 81 45 | |
6 | # description: BNC is an IRC (Internet Relay Chat) proxying server | |
7 | # processname: bnc | |
8 | # config: /etc/bnc | |
9 | ||
10 | # Set some frequently user variables | |
11 | SERVICE=bnc | |
12 | LOCKFILE=/var/lock/subsys/$SERVICE | |
13 | MSG=$SERVICE | |
14 | PROG=$SERVICE | |
15 | PIDFILE=/var/run/$SERVICE/$SERVICE.pid | |
16 | ||
17 | # Source funtion library | |
18 | . /etc/rc.d/init.d/functions | |
19 | ||
20 | # Get network config | |
21 | . /etc/sysconfig/network | |
22 | ||
23 | # Check that networking is up | |
24 | if is_yes "${NETWORKING}"; then | |
25 | if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then | |
26 | msg_network_down $MSG | |
27 | exit 1 | |
28 | fi | |
29 | else | |
30 | exit 0 | |
31 | fi | |
32 | ||
33 | # Get service config | |
34 | [ -f "/etc/sysconfig/$SERVICE" ] && . "/etc/sysconfig/$SERVICE" | |
35 | ||
36 | RETVAL=0 | |
37 | # See how we were called. | |
38 | case "$1" in | |
39 | start) | |
40 | if [ ! -f "$LOCKFILE" ]; then | |
41 | # create the log | |
42 | if [ ! -f /var/log/bnc.log ]; then | |
43 | touch /var/log/bnc.log | |
44 | chown bnc:bnc /var/log/bnc.log | |
45 | chmod 640 /var/log/bnc.log | |
46 | fi | |
47 | ||
48 | msg_starting "$MSG" | |
49 | start-stop-daemon --start --pidfile $PIDFILE --chuid bnc \ | |
50 | --chdir /etc/bnc --exec /usr/bin/bnc -- bnc.conf > /dev/null | |
89c0c799 | 51 | RETVAL=$? |
cddf944e ER |
52 | # take or leave it, but rc=7 is successful exit code in bnc |
53 | [ $RETVAL = 7 ] && RETVAL=0 | |
54 | ||
55 | if [ $RETVAL -eq 0 ]; then | |
56 | touch $LOCKFILE | |
57 | ok | |
58 | else | |
59 | fail | |
60 | fi | |
61 | else | |
62 | msg_already_running $MSG | |
63 | fi | |
64 | ;; | |
65 | stop) | |
66 | if [ -f "$LOCKFILE" ]; then | |
67 | msg_stopping "$MSG" | |
68 | if start-stop-daemon --stop --oknodo --pidfile $PIDFILE; then | |
69 | rm -f $PIDFILE $LOCKFILE >/dev/null 2>&1 | |
70 | ok | |
71 | else | |
72 | fail | |
73 | fi | |
74 | else | |
75 | msg_not_running "$MSG" | |
76 | fi | |
77 | ;; | |
78 | status) | |
79 | status $PROG | |
80 | exit $? | |
81 | ;; | |
82 | restart|force-reload) | |
83 | $0 stop | |
84 | $0 start | |
85 | exit $? | |
86 | ;; | |
87 | *) | |
88 | msg_usage "$0 {start|stop|restart|force-reload|status}" | |
89 | exit 3 | |
90 | esac | |
91 | ||
92 | exit $RETVAL |