Mini Shell
#!/usr/bin/env bash
###############################################################################
#
# Dell Inc. PROPRIETARY INFORMATION
# This software is supplied under the terms of a license agreement or
# nondisclosure agreement with Dell Inc. and may not
# be copied or disclosed except in accordance with the terms of that
# agreement.
#
# Copyright (c) 2000-2018 Dell Inc. All Rights Reserved.
#
# Module Name:
#
# dataeng-helper
#
# Abstract/Purpose:
#
# Systems Management Data Engine helper script
#
# Environment:
#
# Ubuntu/Debian
#
###############################################################################
DENG_PROD_NAME="Systems Management Data Engine"
DENG_SCRIPT_NAME="dataeng"
DENG_DEFAULT_INSTALL_DIR="/opt/dell/srvadmin"
# Make sure HOSTTYPE is set
[ -z "${HOSTTYPE}" ] && HOSTTYPE=$(uname -m)
# OS information
OM_INITSCRIPT_DIR="/etc/init.d"
OS_INITSCRIPT_DIR="/etc/init.d"
OS_SUBSYS_LOCK_DIR="/var/lock/subsys/"
OS_SCRIPT_FUNCTIONS_LSB="/lib/lsb/init-functions"
OS_SCRIPT_FUNCTIONS_RH="/etc/init.d/functions"
OS_SCRIPT_FUNCTIONS_NONE="none"
OS_SNMP_SVCNAME="snmpd"
OS_SNMP_SCRIPT="${OS_INITSCRIPT_DIR}/${OS_SNMP_SVCNAME}"
# Check for supported OS script functions
if [ -f ${OS_SCRIPT_FUNCTIONS_RH} ];
then
OS_SCRIPT_FUNCTIONS=${OS_SCRIPT_FUNCTIONS_RH}
elif [ -f ${OS_SCRIPT_FUNCTIONS_LSB} ];
then
OS_SCRIPT_FUNCTIONS=${OS_SCRIPT_FUNCTIONS_LSB}
else
OS_SCRIPT_FUNCTIONS=${OS_SCRIPT_FUNCTIONS_NONE}
fi
# Include OS script functions if available
if [ ${OS_SCRIPT_FUNCTIONS} != ${OS_SCRIPT_FUNCTIONS_NONE} ];
then
. ${OS_SCRIPT_FUNCTIONS}
fi
# omreg config file variables
OM_INSTALL_FILE="/opt/dell/srvadmin/etc/srvadmin-omilcore/install.ini"
OM_REG_FILE="/opt/dell/srvadmin/etc/omreg.cfg"
OMDATAENG_INSTALLPATH_KEY="OMDataEngine.installpath"
OMDATAENG_STARTSNMPD_KEY="OMDataEngine.startsnmpd"
OMDATAENG_SHOULDSTART_SVCLIST_KEY="OMDataEngine.shouldstart.servicelist"
DENG_DAEMON_DIR="/opt/dell/srvadmin/sbin"
DENG_FWSNMP_SCRIPT="/opt/dell/srvadmin/lib64/srvadmin-deng/dcfwsnmp.sh"
DENG_FWSNMP_OFF_FILE="/opt/dell/srvadmin/var/lib/srvadmin-deng/dcfwsnmp.off"
DENG_DCSNMP_OFF_FILE="/opt/dell/srvadmin/var/lib/srvadmin-deng/dcsnmp.off"
DENG_LD_LIBRARY_PATH_SET=0
# Script messages
DENG_MSG_DE_SNMP_ENABLED="Data Engine SNMP enabled"
DENG_MSG_DE_SNMP_DISABLED="Data Engine SNMP disabled"
DENG_MSG_DE_SNMP_NOTINSTALLED="Data Engine SNMP not installed"
DENG_MSG_OS_FIREWALL_SNMP_1="WARNING: The SNMP port appears to be closed by the firewall."
DENG_MSG_OS_FIREWALL_SNMP_2="You may not be able to manage this system remotely using SNMP."
DENG_MSG_OS_FIREWALL_SNMP_3="See Firewall Configuration in the product user's guide."
DENG_MSG_OS_SNMP_NOTINSTALLED="OS SNMP support not installed"
DENG_MSG_OS_SNMP_NOTSTARTED_1="warning: ${OS_SNMP_SVCNAME} not started."
DENG_MSG_OS_SNMP_NOTSTARTED_2="${OS_SNMP_SVCNAME} must be started to manage this system using SNMP."
# Default
DENG_DCSNMP_INSTALLED=1
# Standard status codes for commands other than "status"
STATUS_NO_ERROR=0
STATUS_GENERIC_ERROR=1
STATUS_INVALID_ARG=2
STATUS_NOT_IMPLEMENTED=3
# Data Engine status codes for commands other than "status"
STATUS_OS_SNMP_NOT_FOUND=250
STATUS_DE_SNMP_NOT_FOUND=251
STATUS_SYSTEM_NOT_SUPPORTED=252
# Standard status codes for "status" command
STATUS_RUNNING=0
STATUS_DEAD_PIDFILE_EXISTS=1
STATUS_DEAD_LOCKFILE_EXISTS=2
STATUS_NOT_RUNNING=3
STATUS_UNKNOWN=4
# If DE SNMP is not installed we should not try to start snmp service and report error
# First clean up
rm -f $DENG_DCSNMP_OFF_FILE
grep -q "^SNMP=disable" $OM_INSTALL_FILE
if [ $? = ${STATUS_RUNNING} ];
then
#touch the off file
touch $DENG_DCSNMP_OFF_FILE
fi
###############################################################################
# Begin Functions
###############################################################################
###############################################################################
# Function: dataeng_supt_logmessage <message>
# Description: Log message to OS log
# Returns: none
###############################################################################
dataeng_supt_logmessage()
{
MSG="$1"
# Log message to OS log
logger -t "${DENG_SCRIPT_NAME}" "${MSG}"
} # dataeng_supt_logmessage
###############################################################################
# Function: dataeng_check_fwsnmp
# Description: Check status of SNMP port in OS firewall configuration
# Returns: 0 = SNMP port is open, non-zero = SNMP port is closed
###############################################################################
dataeng_check_fwsnmp()
{
# See if check has been disabled by the user
if [ -f ${DENG_FWSNMP_OFF_FILE} ];
then
return 0
fi
# Check SNMP port in firewall
${DENG_FWSNMP_SCRIPT}
FWSNMP_STATUS=$?
if [ ${FWSNMP_STATUS} != 0 ];
then
# It looks like the SNMP port is closed. Warn the user.
echo ""
echo ${DENG_MSG_OS_FIREWALL_SNMP_1}
echo ${DENG_MSG_OS_FIREWALL_SNMP_2}
echo ${DENG_MSG_OS_FIREWALL_SNMP_3}
dataeng_supt_logmessage "${DENG_MSG_OS_FIREWALL_SNMP_1} ${DENG_MSG_OS_FIREWALL_SNMP_2} ${DENG_MSG_OS_FIREWALL_SNMP_3}"
fi
return ${FWSNMP_STATUS}
} # dataeng_check_fwsnmp
###############################################################################
# Function: dataeng_set_os_snmp_conf_vars
# Description: Set variables needed to update OS SNMP configuration file
# Returns: none
###############################################################################
dataeng_set_os_snmp_conf_vars()
{
OS_SNMP_CONF_FILE_1="/etc/snmp/snmpd.conf"
OS_SNMP_CONF_FILE_2="/etc/snmpd.conf"
OS_SNMP_CONF_FILE_3="/etc/ucdsnmpd.conf"
OS_SNMP_CONF_VIEW_SYS_CHK_1="^view.*systemview.*included.*system$"
OS_SNMP_CONF_VIEW_SYS_CHK_2="^view.*systemview.*included[ ]*\.1.3.6.1.2.1.1$"
OS_SNMP_CONF_VIEW_ALL_CHK="^view.*all.*included.*\.1"
OS_SNMP_CONF_VIEW_ALL_ADD="view all included .1"
OS_SNMP_CONF_ACCESS_SYS_CHK="^access.*notConfigGroup.*any.*noauth.*exact.*systemview.*none.*none$"
OS_SNMP_CONF_ACCESS_ALL_CHK="^access.*notConfigGroup.*any.*noauth.*exact.*all"
OS_SNMP_CONF_ACCESS_ALL_ADD="access notConfigGroup \"\" any noauth exact all none none"
OS_SNMP_CONF_COMMENT_OLD_1="# Allow Dell OpenManage Server Agent to connect to ucd-snmp using SMUX"
OS_SNMP_CONF_COMMENT_OLD_2="# Allow Server Administrator to connect to ucd-snmp using SMUX"
OS_SNMP_CONF_COMMENT_DENG="# Allow Systems Management Data Engine SNMP to connect to snmpd using SMUX"
OS_SNMP_CONF_SMUXPEER_DENG_CHK="smuxpeer.*\.1\.3\.6\.1\.4\.1\.674\.10892\.1"
OS_SNMP_CONF_SMUXPEER_DENG_ADD="smuxpeer .1.3.6.1.4.1.674.10892.1"
# check for OS SNMP configuration file
# (different Linux distros put file in different locations)
if [ -f ${OS_SNMP_CONF_FILE_1} ];
then
OS_SNMP_CONF_FILE=${OS_SNMP_CONF_FILE_1}
elif [ -f ${OS_SNMP_CONF_FILE_2} ];
then
OS_SNMP_CONF_FILE=${OS_SNMP_CONF_FILE_2}
elif [ -f ${OS_SNMP_CONF_FILE_3} ];
then
OS_SNMP_CONF_FILE=${OS_SNMP_CONF_FILE_3}
else
OS_SNMP_CONF_FILE=""
fi
} # dataeng_set_os_snmp_conf_vars
###############################################################################
# Function: dataeng_supt_daemonstatus <daemon>
# Description: Get current status of a daemon
# Returns: LSB status code
###############################################################################
dataeng_supt_daemonstatus()
{
DAEMON="$1"
# Check for daemon name
if [ -z ${DAEMON} ];
then
return ${STATUS_UNKNOWN}
fi
# Get list of pids using pidof
PIDLIST=`pidof -o $$ -o ${PPID} -o %PPID -x ${DAEMON}`
if [ -n "${PIDLIST}" ];
then
echo "${DAEMON} (pid ${PIDLIST}) is running"
return ${STATUS_RUNNING}
fi
# Check for pid file in standard location
PIDFILE="/opt/dell/srvadmin/var/run/${DAEMON}.pid"
if [ -f ${PIDFILE} ];
then
echo "${DAEMON} is dead and /opt/dell/srvadmin/var/run pid file exists"
return ${STATUS_DEAD_PIDFILE_EXISTS}
fi
# Check for lock file in standard location
LOCKFILE="${OS_SUBSYS_LOCK_DIR}/${daemon}"
if [ -f ${LOCKFILE} ];
then
echo "${DAEMON} is dead and /opt/dell/srvadmin/var/lock lock file exists"
return ${STATUS_DEAD_LOCKFILE_EXISTS}
fi
echo "${DAEMON} is stopped"
return ${STATUS_NOT_RUNNING}
} # dataeng_supt_daemonstatus
###############################################################################
# Function: dataeng_enablesnmp
# Description: enable Data Engine SNMP
# Returns: STATUS_NO_ERROR = Data Engine SNMP installed and enabled
# STATUS_OS_SNMP_NOT_FOUND = OS SNMP support not installed
# STATUS_DE_SNMP_NOT_FOUND = Data Engine SNMP not installed
###############################################################################
dataeng_enablesnmp()
{
# check for OS SNMP agent and set configuration variables
dataeng_set_os_snmp_conf_vars
# check if OS SNMP support is installed
if [ -z ${OS_SNMP_CONF_FILE} ];
then
# OS SNMP support not installed
echo ${DENG_MSG_OS_SNMP_NOTINSTALLED}
dataeng_supt_logmessage "NOTE: ${DENG_MSG_OS_SNMP_NOTINSTALLED}"
# mark Data Engine SNMP disabled
touch ${DENG_DCSNMP_OFF_FILE}
return ${STATUS_OS_SNMP_NOT_FOUND}
fi
# check if Data Engine SNMP is installed
if [ ${DENG_DCSNMP_INSTALLED} = 0 ];
then
# Data Engine SNMP not installed
echo ${DENG_MSG_DE_SNMP_NOTINSTALLED}
dataeng_supt_logmessage "NOTE: ${DENG_MSG_DE_SNMP_NOTINSTALLED}"
# mark Data Engine SNMP disabled
touch ${DENG_DCSNMP_OFF_FILE}
return ${STATUS_DE_SNMP_NOT_FOUND}
fi
# OS SNMP and Data Engine SNMP installed;
# make needed updates to OS SNMP configuration
NEW_CONF_FILE="${OS_SNMP_CONF_FILE}.${DENG_SCRIPT_NAME}"
SNMP_CONF_FILE_UPDATED=0
# check for "view" for whole MIB tree
egrep -i "${OS_SNMP_CONF_VIEW_ALL_CHK}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? != 0 ];
then
# determine line to add new "view" after
# by looking for existing well-known "view"
egrep -i "${OS_SNMP_CONF_VIEW_SYS_CHK_1}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
VIEW_CHK="${OS_SNMP_CONF_VIEW_SYS_CHK_1}"
else
egrep -i "${OS_SNMP_CONF_VIEW_SYS_CHK_2}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
VIEW_CHK="${OS_SNMP_CONF_VIEW_SYS_CHK_2}"
else
VIEW_CHK=""
fi
fi
# check if well-known "view" was found
if [ ! -z "${VIEW_CHK}" ];
then
# create sed script to add "view" for whole MIB tree
TMP_FILE=$(mktemp ${TMP:-/tmp}/${DENG_SCRIPT_NAME}.XXXXXXX)
if [ $? = 0 ];
then
echo "/${VIEW_CHK}/i\\" >>${TMP_FILE}
echo "${OS_SNMP_CONF_VIEW_ALL_ADD}" >>${TMP_FILE}
# add "view" for whole MIB tree
sed -f ${TMP_FILE} ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
rm -f ${TMP_FILE}
SNMP_CONF_FILE_UPDATED=1
else
echo "${DENG_SCRIPT_NAME}: mktemp failed to make filename"
fi
fi
fi
# check for "access" to whole MIB tree for default group
egrep -i "${OS_SNMP_CONF_ACCESS_ALL_CHK}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? != 0 ];
then
# check for default "access" configuration
egrep -i "${OS_SNMP_CONF_ACCESS_SYS_CHK}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# change default "access" configuration to allow
# access to whole MIB tree for default group
sed "s/${OS_SNMP_CONF_ACCESS_SYS_CHK}/${OS_SNMP_CONF_ACCESS_ALL_ADD}/" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
SNMP_CONF_FILE_UPDATED=1
fi
fi
# check for Data Engine SNMP "smuxpeer" entry
egrep -i "${OS_SNMP_CONF_SMUXPEER_DENG_CHK}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? != 0 ];
then
# add blank line if needed
LAST_LINE=""
while read LINE;
do
LAST_LINE="${LINE}"
done < ${OS_SNMP_CONF_FILE}
if [ "${LAST_LINE}" != "" ];
then
echo "" >>${OS_SNMP_CONF_FILE}
fi
# add Data Engine SNMP "smuxpeer" entry
echo "${OS_SNMP_CONF_COMMENT_DENG}" >>${OS_SNMP_CONF_FILE}
echo "${OS_SNMP_CONF_SMUXPEER_DENG_ADD}" >>${OS_SNMP_CONF_FILE}
SNMP_CONF_FILE_UPDATED=1
else
# check if "smuxpeer" comment needs to be updated
egrep -i "${OS_SNMP_CONF_COMMENT_OLD_1}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# update "smuxpeer" comment
sed "s/${OS_SNMP_CONF_COMMENT_OLD_1}/${OS_SNMP_CONF_COMMENT_DENG}/" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
else
egrep -i "${OS_SNMP_CONF_COMMENT_OLD_2}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# update "smuxpeer" comment
sed "s/${OS_SNMP_CONF_COMMENT_OLD_2}/${OS_SNMP_CONF_COMMENT_DENG}/" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
fi
fi
fi
# check for simple access control configuration;
# if simple access control configuration found;
# try to determine if SNMP access is restricted to localhost
SIMPLE_ACCESS_CONTROL=0
LOCALHOST_ONLY=1
TMP_FILE=$(mktemp ${TMP:-/tmp}/${DENG_SCRIPT_NAME}.XXXXXXX)
if [ $? = 0 ];
then
egrep -i "^r[ow]community6*[[:blank:]]" ${OS_SNMP_CONF_FILE} >>${TMP_FILE} 2>&1
while read LINE;
do
SIMPLE_ACCESS_CONTROL=1
SOURCE=`echo ${LINE} | awk '{print $3}'`
if [ "${SOURCE}" != "127.0.0.1" ] &&
[ "${SOURCE}" != "localhost" ];
then
LOCALHOST_ONLY=0
break
fi
done < ${TMP_FILE}
rm -f ${TMP_FILE}
else
echo "${DENG_SCRIPT_NAME}: mktemp failed to make filename"
fi
# check if simple access control configuration used and
# if SNMP access appears to be restricted to localhost
if [ ${SIMPLE_ACCESS_CONTROL} = 1 ] &&
[ ${LOCALHOST_ONLY} = 1 ];
then
# SNMP access appears to be restricted to localhost
DENG_MSG_OS_SNMP_ACCESS="NOTE: SNMP access appears to be restricted to localhost in ${OS_SNMP_CONF_FILE}"
echo ${DENG_MSG_OS_SNMP_ACCESS}
dataeng_supt_logmessage "${DENG_MSG_OS_SNMP_ACCESS}"
fi
# check if SNMP config file updated
if [ ${SNMP_CONF_FILE_UPDATED} = 1 ];
then
# check if SNMP agent started
dataeng_supt_daemonstatus ${OS_SNMP_SVCNAME} >/dev/null
if [ $? = ${STATUS_RUNNING} ];
then
# SNMP agent needs to be restarted
DENG_MSG_OS_SNMP_RESTART="NOTE: ${OS_SNMP_SVCNAME} must be restarted to activate changes to ${OS_SNMP_CONF_FILE}"
echo ${DENG_MSG_OS_SNMP_RESTART}
dataeng_supt_logmessage "${DENG_MSG_OS_SNMP_RESTART}"
fi
fi
# check SNMP port in firewall
dataeng_check_fwsnmp
# mark Data Engine SNMP enabled
rm -f ${DENG_DCSNMP_OFF_FILE}
echo ${DENG_MSG_DE_SNMP_ENABLED}
return ${STATUS_NO_ERROR}
} # dataeng_enablesnmp
###############################################################################
# Function: dataeng_disablesnmp
# Description: Disable Data Engine SNMP
# Returns: STATUS_NO_ERROR = Data Engine SNMP installed and disabled
# STATUS_OS_SNMP_NOT_FOUND = OS SNMP support not installed
# STATUS_DE_SNMP_NOT_FOUND = Data Engine SNMP not installed
###############################################################################
dataeng_disablesnmp()
{
# check for OS SNMP agent and set configuration variables
dataeng_set_os_snmp_conf_vars
# always mark Data Engine SNMP disabled
touch ${DENG_DCSNMP_OFF_FILE}
# check if OS SNMP support is installed
if [ -z ${OS_SNMP_CONF_FILE} ];
then
# OS SNMP support not installed
echo ${DENG_MSG_OS_SNMP_NOTINSTALLED}
return ${STATUS_OS_SNMP_NOT_FOUND}
fi
# check if Data Engine SNMP is installed
if [ ${DENG_DCSNMP_INSTALLED} = 0 ];
then
# Data Engine SNMP not installed
echo ${DENG_MSG_DE_SNMP_NOTINSTALLED}
return ${STATUS_DE_SNMP_NOT_FOUND}
fi
# OS SNMP and Data Engine SNMP are installed;
# make needed updates to OS SNMP configuration
NEW_CONF_FILE="${OS_SNMP_CONF_FILE}.${DENG_SCRIPT_NAME}"
# check for Data Engine SNMP "smuxpeer" entry
egrep -i "${OS_SNMP_CONF_SMUXPEER_DENG_CHK}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# remove Data Engine SNMP "smuxpeer" entry
egrep -iv "${OS_SNMP_CONF_SMUXPEER_DENG_CHK}" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
fi
# check for Data Engine SNMP "smuxpeer" comment
egrep -i "${OS_SNMP_CONF_COMMENT_DENG}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# remove Data Engine SNMP "smuxpeer" comment
egrep -iv "${OS_SNMP_CONF_COMMENT_DENG}" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
fi
# check for old "smuxpeer" comment
egrep -i "${OS_SNMP_CONF_COMMENT_OLD_1}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# remove old SNMP "smuxpeer" comment
egrep -iv "${OS_SNMP_CONF_COMMENT_OLD_1}" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
fi
# check for old "smuxpeer" comment
egrep -i "${OS_SNMP_CONF_COMMENT_OLD_2}" ${OS_SNMP_CONF_FILE} >/dev/null
if [ $? = 0 ];
then
# remove old SNMP "smuxpeer" comment
egrep -iv "${OS_SNMP_CONF_COMMENT_OLD_2}" ${OS_SNMP_CONF_FILE} >${NEW_CONF_FILE}
mv -f ${NEW_CONF_FILE} ${OS_SNMP_CONF_FILE}
fi
# stop Data Engine SNMP if started
dataeng_supt_daemonstatus ${DENG_DCSNMP} >/dev/null
if [ $? = 0 ];
then
dataeng_supt_daemonstop ${DENG_DCSNMP}
fi
echo ${DENG_MSG_DE_SNMP_DISABLED}
return ${STATUS_NO_ERROR}
} # dataeng_disablesnmp
###############################################################################
# Function: dataeng_getsnmpstatus
# Description: Get Data Engine SNMP status
# Returns: STATUS_NO_ERROR = Data Engine SNMP installed
# STATUS_OS_SNMP_NOT_FOUND = OS SNMP support not installed
# STATUS_DE_SNMP_NOT_FOUND = Data Engine SNMP not installed
###############################################################################
dataeng_getsnmpstatus()
{
# check for OS SNMP agent and set configuration variables
dataeng_set_os_snmp_conf_vars
# check if OS SNMP support is installed
if [ -z ${OS_SNMP_CONF_FILE} ];
then
# OS SNMP support not installed
echo ${DENG_MSG_OS_SNMP_NOTINSTALLED}
return ${STATUS_OS_SNMP_NOT_FOUND}
fi
# check if Data Engine SNMP is installed
if [ ${DENG_DCSNMP_INSTALLED} = 0 ];
then
# Data Engine SNMP not installed
echo ${DENG_MSG_DE_SNMP_NOTINSTALLED}
return ${STATUS_DE_SNMP_NOT_FOUND}
fi
# OS SNMP and Data Engine SNMP are installed;
# get Data Engine SNMP status
if [ ! -f ${DENG_DCSNMP_OFF_FILE} ];
then
echo ${DENG_MSG_DE_SNMP_ENABLED}
else
echo ${DENG_MSG_DE_SNMP_DISABLED}
fi
return ${STATUS_NO_ERROR}
} # dataeng_getsnmpstatus
###############################################################################
# End Functions
###############################################################################
###############################################################################
# Check command line parameter for action to perform
###############################################################################
case "$1" in
enablesnmp)
# enable Data Engine SNMP
dataeng_enablesnmp
EXIT_STATUS=$?
;;
disablesnmp)
# disable Data Engine SNMP
dataeng_disablesnmp
EXIT_STATUS=$?
;;
getsnmpstatus)
# get Data Engine SNMP enable/disable status
dataeng_getsnmpstatus
EXIT_STATUS=$?
;;
*)
echo "${DENG_SCRIPT_NAME}: Invalid argument"
echo "Usage: ${DENG_SCRIPT_NAME} {enablesnmp|disablesnmp|getsnmpstatus}"
EXIT_STATUS=${STATUS_INVALID_ARG}
esac
exit ${EXIT_STATUS}
###############################################################################
# End Script
###############################################################################
Zerion Mini Shell 1.0