From 1964aece5e421391cc6cb589c668da0b5f2eeaee Mon Sep 17 00:00:00 2001 From: crcro Date: Fri, 29 Jul 2016 20:22:35 +0300 Subject: [PATCH] added snmp extend script for os-updates application --- snmp/os-updates.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 snmp/os-updates.sh diff --git a/snmp/os-updates.sh b/snmp/os-updates.sh new file mode 100755 index 0000000..092ccf7 --- /dev/null +++ b/snmp/os-updates.sh @@ -0,0 +1,45 @@ +#!/bin/bash +################################################################ +# copy this script to somewhere like /opt and make chmod +x it # +# edit your snmpd.conf and include # +# extend osupdate /opt/os-updates.sh # +# restart snmpd and activate the app for desired host # +################################################################ +BIN_AWK='/usr/bin/awk' +BIN_WC='/usr/bin/wc' +CMD_WC='-l' +BIN_ZYPPER='/usr/bin/zypper' +CMD_ZYPPER='lu' +BIN_YUM='/usr/bin/yum' +CMD_YUM='check-update' +BIN_APT='/usr/bin/apt' +CMD_APT='list --upgradable' + +#general check for os based on /etc/os-release +if [ -f /etc/os-release ]; then + OS=`$BIN_AWK -F= '/^ID=/{print $2}' /etc/os-release` + if [ $OS == "opensuse" ]; then + UPDATES=`$BIN_ZYPPER $CMD_ZYPPER | $BIN_WC $CMD_WC` + if [ $UPDATES -gt 3 ]; then + echo $(($UPDATES-3)); + else + echo "0"; + fi + elif [ $OS == "\"centos\"" ]; then + UPDATES=`$BIN_YUM $CMD_YUM | $BIN_WC $CMD_WC` + if [ $UPDATES -gt 6 ]; then + echo $(($UPDATES-6)); + else + echo "0"; + fi + elif [ $OS == "ubuntu" ]; then + UPDATES=`$BIN_APT $CMD_APT | $BIN_WC $CMD_WC` + if [ $UPDATES -gt 1 ]; then + echo $(($UPDATES-1)); + else + echo "0"; + fi + fi +else + echo "0"; +fi