|
@@ -0,0 +1,66 @@
|
|
|
+#!/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
|
|
|
+
|
|
|
+# 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
|