

case "$1" in

'start')
   if [ -x $SYSCOLD ]
   then
      SYSCOLPID=`ps $PSFLAGS | grep $SYSCOLD | grep -v grep | \
                 awk 'BEGIN { ORS = " " } { print $2 }'`
      if [ -z "$SYSCOLPID" -o "$2" = "force" ]
      then
         echo "starting system load collector"
         $SYSCOLD $OPTPORT $OPTLOG $OPTOLDLOG $OPTSCRIPT >/dev/null 2>&1 &
      else
         echo "system load collector is already up"
      fi
   else
      echo "system load collector is not executable"
   fi
   ;;

'stop')
   if [ -x $SYSCOLD ]
   then
      SYSCOLPID=`ps $PSFLAGS | grep $SYSCOLD | grep -v grep | \
                 awk 'BEGIN { ORS = " " } { print $2 }'`
      if [ -n "$SYSCOLPID" -o "$2" = "force" ]
      then
         echo "killing system load collector"
         kill $SYSCOLPID
      fi
   else
      echo "system load collector is not executable"
   fi
   ;;

'status')
   if [ -x $SYSCOLD ]
   then
      SYSCOLPID=`ps $PSFLAGS | grep $SYSCOLD | grep -v grep | \
                 awk 'BEGIN { ORS = " " } { print $2 }'`
      if [ -n "$SYSCOLPID" ]
      then
         echo "$SYSCOLD is up"
         $0 stop force
         $SYSCOLD -a $OPTLOG
         echo
         $0 start force
      else
         echo "$SYSCOLD is down"
         $SYSCOLD -a $OPTLOG
      fi
   else
      echo "system load collector is not executable"
   fi
   ;;

'dbupdate')
   if [ -x $SYSCOLD ]
   then
      SYSCOLPID=`ps $PSFLAGS | grep $SYSCOLD | grep -v grep | \
                 awk 'BEGIN { ORS = " " } { print $2 }'`
      if [ -n "$SYSCOLPID" ]
      then
         echo "$SYSCOLD is up -- forcing update to database"
         $0 stop force
         $SYSCOLD -n0 $OPTPORT $OPTLOG $OPTOLDLOG $OPTSCRIPT
         echo
         $0 start force
      else
         echo "$SYSCOLD is down -- forcing update to database"
         $SYSCOLD -n0 $OPTPORT $OPTLOG $OPTOLDLOG $OPTSCRIPT
      fi
   else
      echo "system load collector is not executable"
   fi
   ;;

*)
   echo "Usage: $0 { start | stop | status | dbupdate }"
   exit 1
   ;;

esac
