#!/bin/sh
  
logger -s -p "user.info" -t "$0" "SNMP: snmpd needs to be started"

if [ -f /etc/snmp/snmpd.conf ]; then
    if [ -r /etc/default/snmpd ]; then
        . /etc/default/snmpd
        logger -s -p "user.info" -t "$0" "SNMP: starting snmpd with options $SNMPDOPTS"
    else
        logger -s -p "user.info" -t "$0" "SNMP: no snmpd options file"
    fi
else
    logger -s -p "user.info" -t "$0" "SNMP: no snmpd config file"
    exit 1
fi

/usr/local/bin/snmp/send_trap.sh "MARTEM-MIB::systemBoot" "telem-gw: boot"

while true
do

    COUNT_SNMPD="$(ps auxww | grep -c "snmpd $SNMPDOPTS")"
    if [ "$COUNT_SNMPD" -le "1" ]; then

        busybox killall -9 snmpd

        logger -s -p "user.info" -t "$0" "SNMP: snmpd error, restarting"
        /usr/sbin/snmpd $SNMPDOPTS
    fi

    COUNT_SNMPD="$(ps auxww | grep -c "ntpsnmpd")"
    if [ "$COUNT_SNMPD" -le "1" ]; then

        busybox killall -9 ntpsnmpd

        logger -s -p "user.info" -t "$0" "SNMP: ntpsnmpd error, restarting"
        /usr/bin/ntpsnmpd
    fi

    sleep 360
done

