diff options
author | gjb <gjb@FreeBSD.org> | 2015-01-15 19:52:19 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2015-01-15 19:52:19 +0000 |
commit | 6449dfa4f9e574a7e65a543b10119ab730a8404d (patch) | |
tree | e746bde4d5b0ee056c8f56667a80164786d2c8e4 | |
parent | 0c5b62d3d2028073e5948595ae1572fed383f9af (diff) | |
download | FreeBSD-src-6449dfa4f9e574a7e65a543b10119ab730a8404d.zip FreeBSD-src-6449dfa4f9e574a7e65a543b10119ab730a8404d.tar.gz |
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
-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 bbf97d9..4324cfa 100644 --- a/etc/defaults/periodic.conf +++ b/etc/defaults/periodic.conf @@ -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 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 61ede6d..15b6ae8 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 d5526f9..0b0412c 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 |