Xymon Mailing List Archive search

Xymon script question

list Jaap Winius
Wed, 05 Jul 2017 15:51:59 +0200
Message-Id: <user-65b04bd217bd@xymon.invalid>

Quoting Scot Kreienkamp <user-9678697f1438@xymon.invalid>:

Hi Scot,

Thanks for your reply, I'll try it out in a bit. In the mean time,  here's my script:

==========================
#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

COLUMN=Reboot	# Name of the column
COLOR=green	# By default, everything is OK
MSG="Reboot required"

RUN=$(uname -r |awk -F - '{print $1}')	# Version of the running kernel
IRF=$(find /boot -type f -name "initrd.img-$RUN-*") # Find matching  init.rd file
FMD=$(stat -c %Y $IRF)	# Modify date of init.rd file in seconds since 1970
UPT=$(cat /proc/uptime |awk -F \. '{print $1}')	# Seconds of uptime,  rounded down
EPC=$(date +%s)		# Current epoch (seconds since 1970)
DIF=$(($EPC-$FMD))	# Age of init.rd file in seconds

if [ $DIF -gt $UPT ]
then
	MSG="${MSG}:

	No. Already running the latest version of Linux kernel $RUN.
	"
else
	COLOR=yellow

	LFT=$(stat -c %y $IRF |awk -F \. '{print $1}') # Last modified time
	LBT=$(who -b |awk '{print $3" "$4}') # Last boot time

	MSG="${MSG}:

	Yes. A new version of Linux kernel $RUN was installed on $LFT after  the last reboot on $LBT.
	"
fi

# Tell Xymon about it
$XYMON $XYMSRV "status $MACHINE.$COLUMN $COLOR `date`

${MSG}
"

exit 0

==========================

I have the unattended-upgrades package installed on all of the  clients, which are only set to notify me if an error occurs, so this  way I'll know when it's time to reboot any of them.

Is there a Xymon repository somewhere for scripts like this?

Cheers,

Jaap