- #!/bin/sh /etc/rc.common
- # Copyright (C) 2014 OpenWrt.org
-
- START=97
-
- USE_PROCD=1
- PROG=/usr/sbin/smartsnmpd
- CONFIGFILE=/etc/smartsnmpd.conf
-
- smartsnmpd_mib_module() {
- local cfg="$1"
- config_get OID "$cfg" oid
- config_get MODULE "$cfg" module
- echo " ['$OID'] = '$MODULE'," >> $CONFIGFILE
- }
-
- start_service() {
- include /lib/functions
-
- config_load smartsnmpd
-
- procd_open_instance
- procd_set_param command $PROG -c $CONFIGFILE
- procd_set_param file $CONFIGFILE
- procd_set_param respawn
- procd_close_instance
-
- # before we can call xappend
- mkdir -p "$(dirname $CONFIGFILE)"
-
- echo "-- auto-generated config file from /etc/config/smartsnmpd" > $CONFIGFILE
-
- {
- config_get PORT smartsnmpd port 161
- echo "port = $PORT"
-
- config_get RO_COMMUNITY smartsnmpd ro_community 'public'
- config_get RW_COMMUNITY smartsnmpd rw_community 'private'
- echo "ro_community = '$RO_COMMUNITY'"
- echo "rw_community = '$RW_COMMUNITY'"
-
- config_get MIB_MODULE_PATH smartsnmpd mib_module_path '/usr/lib/lua/smartsnmp/mibs/'
- echo "mib_module_path = '$MIB_MODULE_PATH'"
-
- echo "mib_modules = {"
- config_foreach smartsnmpd_mib_module smartsnmpd_module
- echo "}"
- } >> $CONFIGFILE
- }
|