b3d826a515
Signed-off-by: Sven Velt <sven@velt.de>
73 lines
3.3 KiB
Bash
Executable file
73 lines
3.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#############################################################################
|
|
# (c) 2011 Sven Velt <sven@velt.de #
|
|
# and team(ix) GmbH, Nuernberg, Germany #
|
|
# #
|
|
# This file is part of "team(ix) Monitoring Plugins" #
|
|
# URL: http://oss.teamix.org/projects/monitoringplugins/ #
|
|
# #
|
|
# All rights reserved. #
|
|
# Redistribution and use in source and binary forms, with or without #
|
|
# modification, are permitted provided that the following conditions #
|
|
# are met: #
|
|
# 1. Redistributions of source code must retain the above copyright #
|
|
# notice, this list of conditions and the following disclaimer. #
|
|
# 2. Redistributions in binary form must reproduce the above copyright #
|
|
# notice, this list of conditions and the following disclaimer in the #
|
|
# documentation and/or other materials provided with the distribution. #
|
|
# 3. The name of the copyright owner may not be used to endorse or #
|
|
# promote products derived from this software without specific prior #
|
|
# written permission. #
|
|
# #
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR #
|
|
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED #
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE #
|
|
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, #
|
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES #
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR #
|
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) #
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, #
|
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING #
|
|
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE #
|
|
# POSSIBILITY OF SUCH DAMAGE. #
|
|
#############################################################################
|
|
|
|
# Works on:
|
|
# - SLES 11
|
|
|
|
# Does NOT work on:
|
|
# -
|
|
|
|
# From "/etc/sudoers" / "visudo":
|
|
# nagios ALL = NOPASSWD: /usr/bin/zypper ref,/usr/bin/zypper -q pchk
|
|
|
|
#
|
|
if [ ! -x /usr/bin/zypper ] ; then
|
|
echo 'Zypper CRITICAL - Zypper not found!'
|
|
exit 2
|
|
fi
|
|
|
|
# Refresh repositories
|
|
sudo /usr/bin/zypper ref >/dev/null 2>&1
|
|
|
|
zypper_out=$(sudo LANG=C /usr/bin/zypper -q pchk)
|
|
if ( echo "${zypper_out}" | grep -q "needed" ) ; then
|
|
output=$(echo ${zypper_out} | cut -d "." -f 7)
|
|
patches=$(echo ${output} | cut -d " " -f1)
|
|
if [ ${patches} -gt 0 ] ; then
|
|
secpatches=$(echo ${output} | cut -d "(" -f2|cut -d " " -f1)
|
|
if [ -n "${secpatches}" ]; then
|
|
if [ ${secpatches} -gt 0 ] ; then
|
|
echo "Zypper CRITICAL - ${patches}"
|
|
exit 2
|
|
fi
|
|
echo "Zypper WARNING - ${output}"
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
echo "Zypper OK - No updates available"
|
|
exit 0
|