]> git.pld-linux.org Git - packages/bigsister.git/blob - bigsister.init
- init script and patches for bigsister
[packages/bigsister.git] / bigsister.init
1 #!/bin/sh
2 #
3 # bigsister     Big Sister System and Network Monitor
4 #
5 # chkconfig:    345 98 99
6 # description:  Big Sister is System and Network Montoring system
7
8 # Source function library
9 . /etc/rc.d/init.d/functions
10
11 # Get network config
12 . /etc/sysconfig/network
13
14 # Get service config
15 [ -f /etc/sysconfig/bigsister ] && . /etc/sysconfig/bigsister
16
17 # Check that networking is up.
18 if is_no "${NETWORKING}"; then
19         # nls "ERROR: Networking is down. %s can't be run." <service>
20         msg_network_down Big Sister
21         exit 1
22 fi
23
24 bs_killproc() {         # kill the named process(es)
25         msg_stopping "${4-$1}"
26         pid=`ps -e -o pid,comm,args 2>/dev/null | grep -w perl 2>/dev/null | grep " $1 " 2>/dev/null | grep -v grep | awk '{ print $1 }'`
27         if [ "$pid" != "" ]; then 
28                 kill $2 $pid && ( ok ; : ) || fail
29         else
30                 [ "$3" = "y" ] && ( died ; : ) || ok
31         fi
32 }
33
34
35 # See how we were called.
36 case "$1" in
37   start)
38         # Check if the service is already running?
39         if [ ! -f /var/lock/subsys/bigsister ]; then
40                 if is_yes "$UXMON_ASROOT" ; then
41                         uxmonprefix="/bin/sh"
42                 else
43                         uxmonprefix="su - bs -s /bin/sh"
44                 fi
45                 umask 022
46                 if [ -f /usr/lib/bs/bin/bsmon -a -f /etc/bs/etc/bsmon.cfg ]; then
47                         msg_starting "Big Sister bsmon"
48                         $uxmonprefix -c "/usr/bin/setsid /usr/lib/bs/bin/bsmon" > /dev/null 2>&1
49                         RETVAL=$?
50                         [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
51                 fi
52                 if [ -f /usr/lib/bs/bin/bbd -a -f /etc/bs/adm/bb-display.cfg ]; then
53                         msg_starting "Big Sister bbd"
54                         $uxmonprefix -c "/usr/bin/setsid /usr/lib/bs/bin/bbd -b /usr/lib/bs $BBD_ARGS" >/dev/null 2>&1
55                         RETVAL=$?
56                         [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
57                 fi
58                 for f in /etc/bs/adm/uxmon-net* ; do
59                         set `basename $f`
60                         case $1 in
61                           *bak|*%|*~|*.rpmsave|*.rpmorig|*.rpmnew)
62                                 continue
63                                 ;;
64                           *)
65                                 msg_starting "Big Sister uxmon $1"
66                                 $uxmonprefix -c "/usr/bin/setsid /usr/lib/bs/uxmon/uxmon -r /usr/lib/bs/uxmon/uxmon-rules.pl -b /usr/lib/bs -c $1" >/dev/null 2>&1
67                                 RETVAL=$?
68                                 [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
69                                 ;;
70                         esac
71                 done
72                 if [ -f /etc/bs/adm/bstrapd.cfg ]; then
73                         # bstrapd will only run as root
74                         msg_starting "Big Sister bstrapd"
75                         /usr/bin/setsid /usr/lib/bs/bin/bstrapd >/dev/null 2>&1
76                         [ "$RETVAL" = "0" ] && ok || ( fail ; exit $RETVAL )
77                 fi
78                 touch /var/lock/subsys/bigsister
79         else
80                 msg_already_running Big Sister
81                 exit 1
82         fi
83         ;;
84   stop)
85         if [ -f /var/lock/subsys/bigsister ]; then
86                 bs_killproc uxmon -QUIT y "Big Sister uxmon"
87                 bs_killproc bbd -QUIT n "Big Sister bbd if running"
88                 bs_killproc bb_event_generator -QUIT n "Big Sister bb_event_generator if running"
89                 bs_killproc bsmon -QUIT n "Big Sister bsmon if running"
90                 bs_killproc bstrapd -QUIT n "Big Sister bstrapd if running"
91                 rm -f /var/lock/subsys/bigsister
92         else
93                 msg_not_running Big Sister
94                 exit 1
95         fi
96         ;;
97   restart|reload)
98         $0 stop
99         $0 start
100         ;;
101   *)
102         msg_usage "$0 {start|stop|restart|reload}"
103         exit 1
104         ;;
105 esac
106
107 exit 0
This page took 0.081333 seconds and 4 git commands to generate.