diff options
author | gjb <gjb@FreeBSD.org> | 2015-01-22 02:24:09 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2015-01-22 02:24:09 +0000 |
commit | 505f4c781a1389a4a61f13a5b7d298b0f1e950f3 (patch) | |
tree | 9b9001455e95e25fc62295b6349e00c35d24e369 | |
parent | 4d3ec3464b2c290acf6ed2e21fbb3479427d162e (diff) | |
download | FreeBSD-src-505f4c781a1389a4a61f13a5b7d298b0f1e950f3.zip FreeBSD-src-505f4c781a1389a4a61f13a5b7d298b0f1e950f3.tar.gz |
MFC r277216:
Evaluate running userland/kernel version in daily
periodic(8) run, taken from uname(1) '-U' and '-K'
flags.
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | etc/defaults/periodic.conf | 4 | ||||
-rwxr-xr-x | etc/periodic/daily/510.status-world-kernel | 36 | ||||
-rw-r--r-- | etc/periodic/daily/Makefile | 1 | ||||
-rw-r--r-- | share/man/man5/periodic.conf.5 | 7 |
4 files changed, 47 insertions, 1 deletions
diff --git a/etc/defaults/periodic.conf b/etc/defaults/periodic.conf index 8520fc5..9d97b2a 100644 --- a/etc/defaults/periodic.conf +++ b/etc/defaults/periodic.conf @@ -144,6 +144,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 diff --git a/etc/periodic/daily/510.status-world-kernel b/etc/periodic/daily/510.status-world-kernel new file mode 100755 index 0000000..4e08a04 --- /dev/null +++ b/etc/periodic/daily/510.status-world-kernel @@ -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 diff --git a/etc/periodic/daily/Makefile b/etc/periodic/daily/Makefile index 6909e30..593c0f6 100644 --- a/etc/periodic/daily/Makefile +++ b/etc/periodic/daily/Makefile @@ -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 diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5 index b4629a8..5328445 100644 --- a/share/man/man5/periodic.conf.5 +++ b/share/man/man5/periodic.conf.5 @@ -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 |