summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2015-01-15 19:52:19 +0000
committergjb <gjb@FreeBSD.org>2015-01-15 19:52:19 +0000
commit6449dfa4f9e574a7e65a543b10119ab730a8404d (patch)
treee746bde4d5b0ee056c8f56667a80164786d2c8e4 /etc
parent0c5b62d3d2028073e5948595ae1572fed383f9af (diff)
downloadFreeBSD-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
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 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
OpenPOWER on IntegriCloud