Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Oct 2014 15:17:28 +0100
From:      Olivier Sauzet <olivier.sauzet@univ-lr.fr>
To:        freebsd-questions@freebsd.org
Subject:   Nagios Check freebsd-update
Message-ID:  <544E53F8.6030805@univ-lr.fr>

next in thread | raw e-mail | index | archive | help
Hi,

I started wroting a short checkfor "freebsd-update install" and if its
necessary to reboot ...
But whith p11 in freebsd10 my check are broken...

Coul you tell me if its the right way for test if a rebbot is necessary...
Thanks...

#!/bin/sh

#
# Check if update are installed after a : freebsd-update fetch
# and test if reboot is needed

# KERN_VERS       : kernel currently running
# FILESYSTEM_VERS : print the version (and patch) of the new kernel
# UPDATE_VERS     : currently update version

STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2



KERN_VERS="$(uname -r | cut -d 'p' -f2 )"
FILESYSTEM_VERS="$(freebsd-version -k |cut -d 'p' -f2)"
UPDATE_VERS="$(cut -d '|' -f4 /var/db/freebsd-update/tag)"
BASEDIR="/"
BASE="/var/db/freebsd-update"
cd $BASE

# Construct a unique name from ${BASEDIR}
BDHASH=`echo $BASEDIR | sha256 -q`


if [ "$KERN_VERS" -ne  "$UPDATE_VERS" ] || [ "$FILESYSTEM_VERS" -ne
"$UPDATE_VERS" ] ;then
  if [ -f "$BASE/$BDHASH-install/INDEX-NEW" ];then
          kern_patch=$(grep -c 'kernel' $BASE/$BDHASH-install/INDEX-NEW)
  elif [ -f "$BASE/$BDHASH-rollback/INDEX-NEW" ];then
          kern_patch=$(grep -c 'kernel' $BASE/$BDHASH-rollback/INDEX-NEW)
  fi

  # Check that we have updates ready to install
   if  [ -L ${BDHASH}-install ] && [ $kern_patch -ne 0 ]; then
       echo "Updates (p$UPDATE_VERS) are available to install, AND
reboot are needed : Kern Pach = $kern_patch " && exit $STATE_WARNING
   elif [ -L ${BDHASH}-install ];then
       echo "Install update (p$UPDATE_VERS) by : freebsd-update install"
&& exit $STATE_WARNING
   elif [ -L ${BDHASH}-rollback ] && [ $kern_patch -ne 0 ];then
           echo "Reboot for apply Kern Patch: ($kern_patch patch), that
install completely update (p$UPDATE_VERS)  " && exit $STATE_WARNING
   fi
else
      echo "OK - Systeme UpToDate" && exit $STATE_OK
fi




-- 
--------------------------------------------------------------------
Olivier S
--------------------------------------------------------------------





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?544E53F8.6030805>