Evaluate running userland/kernel version in daily

periodic(8) run, taken from uname(1) '-U' and '-K'
flags.

Reviewed by:		allanjude, dvl
Differential Revision:	https://reviews.freebsd.org/D1541
MFC after:		1 week
Sponsored by:		The FreeBSD Foundation
This commit is contained in:
Glen Barber 2015-01-15 19:52:19 +00:00
parent ca49b3342d
commit f7e6516a1f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=277216
4 changed files with 47 additions and 1 deletions

View File

@ -140,6 +140,10 @@ daily_status_ntpd_enable="NO" # Check NTP status
daily_queuerun_enable="YES" # Run mail queue
daily_submit_queuerun="YES" # Also submit queue
# 510.status-world-kernel
daily_status_world_kernel="YES" # Check the running
# userland/kernel version
# 800.scrub-zfs
daily_scrub_zfs_enable="NO"
daily_scrub_zfs_pools="" # empty string selects all pools

View File

@ -0,0 +1,36 @@
#!/bin/sh
#
# $FreeBSD$
#
# Check that the running userland and kernel versions are in sync.
# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
. /etc/defaults/periodic.conf
source_periodic_confs
fi
case "$daily_status_world_kernel" in
[Yy][Ee][Ss])
rc=0
_U=$(/usr/bin/uname -U 2>/dev/null)
_K=$(/usr/bin/uname -K 2>/dev/null)
[ -z "${_U}" -o -z "${_K}" ] && exit 0
echo ""
echo "Checking userland and kernel versions:"
if [ "${_U}" != "${_K}" ]; then
echo "Userland and kernel are not in sync"
echo "Userland version: ${_U}"
echo "Kernel version: ${_K}"
rc=1
else
echo "Userland and kernel are in sync."
fi
;;
*) rc=0;;
esac
exit $rc

View File

@ -16,6 +16,7 @@ FILES= 100.clean-disks \
409.status-gconcat \
420.status-network \
450.status-security \
510.status-world-kernel \
999.local
# NB: keep these sorted by MK_* knobs

View File

@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd December 25, 2013
.Dd January 15, 2015
.Dt PERIODIC.CONF 5
.Os
.Sh NAME
@ -498,6 +498,11 @@ for yesterday's mail rejects.
Set to
.Dq Li YES
if you want to enable NTP status check.
.It Va daily_status_world_kernel
.Pq Vt bool
Set to
.Dq Li YES
to check the running userland and kernel are in sync.
.It Va daily_queuerun_enable
.Pq Vt bool
Set to