#!/bin/sh # # bigsister Big Sister System and Network Monitor # # chkconfig: 345 98 99 # description: Big Sister is System and Network Montoring system # Source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # fix the problem, making sure that bigsister only see english messages LANG=C LC_MESSAGES=C export LANG LC_MESSAGES # Get service config [ -f /etc/sysconfig/bigsister ] && . /etc/sysconfig/bigsister # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down Big Sister exit 1 fi else exit 0 fi RETVAL=0 # See how we were called. case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/bigsister ]; then if is_yes "$UXMON_ASROOT" ; then uxmonprefix="/bin/sh" else uxmonprefix="su - bs -s /bin/sh" fi umask 022 if [ -f /usr/share/bigsister/bin/bsmon ]; then msg_starting "Big Sister bsmon" $uxmonprefix -c "/usr/bin/setsid /usr/share/bigsister/bin/bsmon" > /dev/null 2>&1 RETVAL=$? [ "$RETVAL" -eq 0 ] && ok || ( fail ; exit $RETVAL ) fi if [ -f /usr/share/bigsister/bin/bbd -a -f /etc/bigsister/bb-display.cfg ]; then msg_starting "Big Sister bbd" $uxmonprefix -c "/usr/bin/setsid /usr/share/bigsister/bin/bbd -b /etc/bigsister $BBD_ARGS" >/dev/null 2>&1 RETVAL=$? [ "$RETVAL" -eq 0 ] && ok || ( fail ; exit $RETVAL ) fi for f in /etc/bigsister/uxmon-asroot* ; do set `basename $f` case $1 in *bak|*%|*~|*.rpmsave|*.rpmorig|*.rpmnew) continue ;; *) msg_starting "Big Sister uxmon $1" /bin/sh -c "/usr/bin/setsid /usr/share/bigsister/uxmon/uxmon -r /usr/share/bigsister/uxmon/uxmon-rules.pl -b /usr/share/bigsister -c /etc/bigsister/uxmon-asroot" >/dev/null 2>&1 RETVAL=$? [ "$RETVAL" -eq 0 ] && ok || ( fail ; exit $RETVAL ) ;; esac done for f in /etc/bigsister/uxmon-net* ; do set `basename $f` case $1 in *bak|*%|*~|*.rpmsave|*.rpmorig|*.rpmnew) continue ;; *) msg_starting "Big Sister uxmon $1" su - bs -s /bin/sh -c "/usr/bin/setsid /usr/share/bigsister/uxmon/uxmon -r /usr/share/bigsister/uxmon/uxmon-rules.pl -b /usr/share/bigsister -c /etc/bigsister/uxmon-net" >/dev/null 2>&1 RETVAL=$? [ "$RETVAL" -eq 0 ] && ok || ( fail ; exit $RETVAL ) ;; esac done if [ -f /etc/bigsister/etc/bstrapd.cfg ]; then # bstrapd will only run as root msg_starting "Big Sister bstrapd" /usr/bin/setsid /usr/share/bigsister/bin/bstrapd >/dev/null 2>&1 [ "$RETVAL" -eq 0 ] && ok || ( fail ; exit $RETVAL ) fi touch /var/lock/subsys/bigsister else msg_already_running "Big Sister" fi ;; stop) if [ -f /var/lock/subsys/bigsister ]; then msg_stopping "Big Sister uxmon" killproc uxmon msg_stopping "Big Sister uxmon" killproc uxmon msg_stopping "Big Sister bsmon if running" killproc bsmon msg_stopping "Big Sister bbd if running" killproc bbd msg_stopping "Big Sister bb_event_generator if running" killproc bb_event_generator msg_stopping "Big Sister bstrapd if running" killproc bstrapd rm -f /var/lock/subsys/bigsister else msg_not_running "Big Sister" fi ;; status) ;; restart|force-reload) $0 stop $0 start exit $? ;; *) msg_usage "$0 {start|stop|restart|force-reload|status}" exit 3 esac exit $RETVAL