1
0
mirror of https://github.com/librenms/librenms-agent.git synced 2024-05-09 09:54:52 +00:00
Files
librenms-librenms-agent/snmp/osupdate
Wheel 4e09377661 Minor script reverts (osupdate, phpfpm) (#362)
* Revert changes made in #355 that broke the script.

* Revert partial changes made in #356

By just removing the quotes in line 81 i could make the script work again

* osupdate yum revert

Realized i had a centos to test

* Fix curl error

`curl: (3) URL using bad/illegal format or missing URL`
Not sure how to properly fix it but moving the hardcode flags to the variable so its not empty did fix it. The curl error caused to push down all values 1 line which made them mismatch in librenms.

* Update osupdate

* Update phpfpmsp

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-03-26 02:14:43 +01:00

100 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
################################################################
# copy this script to /etc/snmp/ and make it executable: #
# chmod +x /etc/snmp/osupdate #
# ------------------------------------------------------------ #
# edit your snmpd.conf and include: #
# extend osupdate /etc/snmp/osupdate #
#--------------------------------------------------------------#
# restart snmpd and activate the app for desired host #
#--------------------------------------------------------------#
# please make sure you have the path/binaries below #
################################################################
BIN_WC='/usr/bin/env wc'
BIN_GREP='/usr/bin/env grep'
CMD_GREP='-c'
CMD_WC='-l'
BIN_ZYPPER='/usr/bin/env zypper'
CMD_ZYPPER='-q lu'
BIN_YUM='/usr/bin/env yum'
CMD_YUM='-q check-update'
BIN_DNF='/usr/bin/env dnf'
CMD_DNF='-q check-update'
BIN_APT='/usr/bin/env apt-get'
CMD_APT='-qq -s upgrade'
BIN_PACMAN='/usr/bin/env pacman'
CMD_PACMAN='-Sup'
BIN_PKG='/usr/sbin/pkg'
CMD_PKG=' audit -q -F'
BIN_APK='/sbin/apk'
CMD_APK=' version'
################################################################
# Don't change anything unless you know what are you doing #
################################################################
if command -v zypper &>/dev/null ; then
# OpenSUSE
# shellcheck disable=SC2086
UPDATES=$($BIN_ZYPPER $CMD_ZYPPER | $BIN_WC $CMD_WC)
if [ "$UPDATES" -ge 2 ]; then
echo $(($UPDATES-2));
else
echo "0";
fi
elif command -v dnf &>/dev/null ; then
# Fedora
# shellcheck disable=SC2086
UPDATES=$($BIN_DNF $CMD_DNF | $BIN_WC $CMD_WC)
if [ "$UPDATES" -ge 1 ]; then
echo $(($UPDATES-1));
else
echo "0";
fi
elif command -v pacman &>/dev/null ; then
# Arch
UPDATES=$($BIN_PACMAN $CMD_PACMAN | $BIN_WC $CMD_WC)
if [ "$UPDATES" -ge 1 ]; then
echo $(($UPDATES-1));
else
echo "0";
fi
elif command -v yum &>/dev/null ; then
# CentOS / Redhat
# shellcheck disable=SC2086
UPDATES=$($BIN_YUM $CMD_YUM | $BIN_WC $CMD_WC)
if [ "$UPDATES" -ge 1 ]; then
echo $(($UPDATES-1));
else
echo "0";
fi
elif command -v apt-get &>/dev/null ; then
# Debian / Devuan / Ubuntu
# shellcheck disable=SC2086
UPDATES=$($BIN_APT $CMD_APT | $BIN_GREP $CMD_GREP 'Inst')
if [ "$UPDATES" -ge 1 ]; then
echo "$UPDATES";
else
echo "0";
fi
elif command -v pkg &>/dev/null ; then
# FreeBSD
# shellcheck disable=SC2086
UPDATES=$($BIN_PKG $CMD_PKG | $BIN_WC $CMD_WC)
if [ "$UPDATES" -ge 1 ]; then
echo "$UPDATES";
else
echo "0";
fi
elif command -v apk &>/dev/null ; then
# Alpine
# shellcheck disable=SC2086
UPDATES=$($BIN_APK $CMD_APK | $BIN_WC $CMD_WC)
if [ "$UPDATES" -ge 2 ]; then
echo $(($UPDATES-1));
else
echo "0";
fi
else
echo "0";
fi