summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2015-01-22 02:24:09 +0000
committergjb <gjb@FreeBSD.org>2015-01-22 02:24:09 +0000
commit505f4c781a1389a4a61f13a5b7d298b0f1e950f3 (patch)
tree9b9001455e95e25fc62295b6349e00c35d24e369 /etc
parent4d3ec3464b2c290acf6ed2e21fbb3479427d162e (diff)
downloadFreeBSD-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
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/periodic.conf4
-rwxr-xr-xetc/periodic/daily/510.status-world-kernel36
-rw-r--r--etc/periodic/daily/Makefile1
3 files changed, 41 insertions, 0 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
OpenPOWER on IntegriCloud