summaryrefslogtreecommitdiffstats
path: root/etc/periodic/daily
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2007-04-06 02:33:06 +0000
committerpjd <pjd@FreeBSD.org>2007-04-06 02:33:06 +0000
commitba5bb48e56afb7eeb4ad591ec57eb8f08ee660e9 (patch)
tree42bab8ae76d2edf561bef6897be7ae9ecbd01eea /etc/periodic/daily
parentc88881a4e02be156c226e4a6f61fd04f3b5e42dd (diff)
downloadFreeBSD-src-ba5bb48e56afb7eeb4ad591ec57eb8f08ee660e9.zip
FreeBSD-src-ba5bb48e56afb7eeb4ad591ec57eb8f08ee660e9.tar.gz
Add ZFS periodic scripts that monitors status of ZFS pools.
Submitted by: des
Diffstat (limited to 'etc/periodic/daily')
-rw-r--r--etc/periodic/daily/404.status-zfs36
-rw-r--r--etc/periodic/daily/Makefile1
2 files changed, 37 insertions, 0 deletions
diff --git a/etc/periodic/daily/404.status-zfs b/etc/periodic/daily/404.status-zfs
new file mode 100644
index 0000000..81cc3e4
--- /dev/null
+++ b/etc/periodic/daily/404.status-zfs
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# 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_zfs_enable" in
+ [Yy][Ee][Ss])
+ echo
+ echo 'Checking status of zfs pools:'
+
+ out=`zpool status -x`
+ echo "$out"
+ # zpool status -x always exits with 0, so we have to interpret its
+ # output to see what's going on.
+ if [ "$out" = "all pools are healthy" \
+ -o "$out" = "no pools available" ]; then
+ rc=0
+ else
+ rc=1
+ fi
+ ;;
+
+ *)
+ rc=0
+ ;;
+esac
+
+exit $rc
diff --git a/etc/periodic/daily/Makefile b/etc/periodic/daily/Makefile
index f356afa..cee90ff 100644
--- a/etc/periodic/daily/Makefile
+++ b/etc/periodic/daily/Makefile
@@ -12,6 +12,7 @@ FILES= 100.clean-disks \
310.accounting \
330.news \
400.status-disks \
+ 404.status-zfs \
405.status-ata-raid \
406.status-gmirror \
407.status-graid3 \
OpenPOWER on IntegriCloud