#!/bin/sh

# FWB 2009-08-14

export PATH=/nagios-cache/bin:/bin:/opt/nagios-fwb/bin:/usr/bin:/sbin:/usr/sbin:/command:/usr/local/bin:/usr/local/sbin

[ -z "${COLUMNS:-}" ] && COLUMNS=80
#[ -z "${CONSOLETYPE:-}" ] && CONSOLETYPE="`/sbin/consoletype`"
if tty|grep -q dev.pts
then
  CONSOLETYPE=pty
else
  NO_OUTPUT=1
  CONSOLETYPE=serial
fi
BOOTUP=color
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \\033[0;39m"
LOGLEVEL=1
if [ "$CONSOLETYPE" = "serial" ]; then
    BOOTUP=serial
    MOVE_TO_COL=
    SETCOLOR_SUCCESS=
    SETCOLOR_FAILURE=
    SETCOLOR_WARNING=
    SETCOLOR_NORMAL=
fi
echo_success() {
  [ "$NO_OUTPUT" ] || {
    [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
    echo -n "[  "
    [ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
    echo -n $"OK"
    [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
    echo -n "  ]"
    echo
  }
  return 0
}
echo_failure() {
  [ "$NO_OUTPUT" ] || {
    [ "$BOOTUP" = "color" ] && $MOVE_TO_COL
    echo -n "["
    [ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
    echo -n $"FAILED"
    [ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
    echo -n "]"
    echo
  }
  return 1
}

case "$1" in
    start)
        [ "$NO_OUTPUT" ] || echo -n "Starting nagios-cache-complete-fill"
        RETVAL=0
        cd /nagios-cache 2>/dev/null || { mkdir -p /nagios-cache 2>/dev/null; /etc/init.d/nagios-cache start >/dev/null 2>&1; }
	cd /nagios-cache 2>/dev/null
        df .|grep "^\/dev"|grep -q "^\/dev\/r[ad][m/]" || { /etc/init.d/nagios-cache start >/dev/null 2>&1; sleep 2; }
        df .|grep "^\/dev"|grep -q "^\/dev\/r[ad][m/]" || { echo "ERROR: /nagios-cache doesn't seem to be a ramdisk"; RETVAL=1; }

        /etc/nagios-cache.d/base-updates.sh
        for f in $(ls /etc/nagios-cache.d/*.sh \
	  |egrep -v 'cpu|base-updates|ipmi|allsmart|chroottmps|htmlfiles|typo3temp|t3temp|htmlmaxsizes|htmldirlev|chrootmaxfilesizes')
        do
          daemonize /bin/bash $f
        done
        /etc/nagios-cache.d/ipmi.sh
        /etc/nagios-cache.d/allsmart.sh
        [ "$NO_OUTPUT" ] || {
          [ $RETVAL -eq 0 ] && echo_success || echo_failure
        }
        ;;
esac
