summaryrefslogtreecommitdiff
path: root/sysutils/areca-cli/files/407.status-areca-raid.in
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/areca-cli/files/407.status-areca-raid.in')
-rw-r--r--sysutils/areca-cli/files/407.status-areca-raid.in143
1 files changed, 0 insertions, 143 deletions
diff --git a/sysutils/areca-cli/files/407.status-areca-raid.in b/sysutils/areca-cli/files/407.status-areca-raid.in
deleted file mode 100644
index 8276457ed8b4..000000000000
--- a/sysutils/areca-cli/files/407.status-areca-raid.in
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-#
-# Shows status of areca RAID controllers: arcmsr(4)
-#
-# Authors: Bjoern A. Zeeb
-#
-# $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
-
-# Defaults.
-: ${daily_status_arcmsr_raid_enable:=NO}
-# Verbose.
-: ${daily_status_arcmsr_raid_verbose:=YES}
-# SMART.
-: ${daily_status_arcmsr_raid_smart:=YES}
-# Logs persist between "areca-cli event info" invocation?
-: ${daily_status_arcmsr_raid_persist_logs:=YES}
-
-areca_cli=${areca_cli:-%%PREFIX%%/sbin/areca-cli}
-logdir=${logdir:-/var/log}
-
-verbose()
-{
- local cmd
- local scmd
- local log
- cmd=$1
- scmd=$2
- log=$3
-
- case ${daily_status_arcmsr_raid_verbose} in
- [Nn][Oo])
- return
- ;;
- *) ;;
- esac
-
- ${areca_cli} ${cmd} ${scmd} >> ${log}
-}
-
-smart()
-{
- local log
- local disk
- log=$1
-
- case ${daily_status_arcmsr_raid_smart} in
- [Nn][Oo])
- return
- ;;
- *) ;;
- esac
-
- for disk in `${areca_cli} disk info | awk '
- BEGIN { run=0 }
- { if (/^=======/) {
- if (run==0) { run=1; } else { run=0; } }
- else { if (run==1) { printf "%d ", $1; } } };'`; do
- echo "SMART data for disk ${disk}" >> ${log}
- ${areca_cli} disk smart drv=${disk} >> ${log}
- done
-}
-
-case "$daily_status_arcmsr_raid_enable" in
- [Yy][Ee][Ss])
- echo
- echo 'Checking status of Areca RAID controllers:'
-
- rc=0
-
- # Checking the currently selected (1st) controller.
- # XXX TODO set curctrl=[1..4]; along with that
- # XXX TODO try to only call areca-cli once (per ctrl).
- echo ""
- echo "Controller ${ctrl}:"
- ctrl_log=${logdir}/arcmsr_raid_${ctrl}
- if test ! -f ${ctrl_log}.today; then
- touch ${ctrl_log}.today
- fi
- mv -f ${ctrl_log}.today ${ctrl_log}.yesterday
- # Not too efficient to call areca_cli lots of times.
- verbose sys info ${ctrl_log}.today
- ${areca_cli} rsf info >> ${ctrl_log}.today
- verbose vsf info ${ctrl_log}.today
- verbose disk info ${ctrl_log}.today
- smart ${ctrl_log}.today
- verbose hw info ${ctrl_log}.today
- lines=`wc -l ${ctrl_log}.today | awk '{ print $1 }'`
- diff -u -$lines ${ctrl_log}.yesterday ${ctrl_log}.today
- raid_rc=$?
- if test $raid_rc -eq 0; then
- cat ${ctrl_log}.today
- fi
- [ $rc -eq 0 ] && [ $raid_rc -ne 0 ] && rc=3
-
- # Checking logs.
- echo "Logs (most recent first):"
- logs_log=${logdir}/arcmsr_log_${ctrl}
- case "$daily_status_arcmsr_raid_persist_logs" in
- [Yy][Ee][Ss])
- if test ! -f ${logs_log}.today; then
- touch ${logs_log}.today
- fi
- mv -f ${logs_log}.today ${logs_log}.yesterday
- ${areca_cli} event info > ${logs_log}.today
- cmp -zs ${logs_log}.yesterday ${logs_log}.today
- raid_rc=$?
- if test $raid_rc -ne 0; then
- diff -u ${logs_log}.yesterday ${logs_log}.today | \
- grep -v '^-\|^$'
- fi
- ;;
- *)
- raid_rc=0
- ${areca_cli} event info > ${logs_log}.today
- ${areca_cli} event clear >> ${logs_log}.today
- lines=`wc -l ${logs_log}.today | awk '{ print $1 }'`
- if test $lines -gt 4; then
- cat ${logs_log}.today
- raid_rc=1
- fi
- ;;
- esac
- if test $raid_rc -eq 0; then
- echo " No new alarms."
- fi
- [ $rc -eq 0 ] && [ $raid_rc -ne 0 ] && rc=3
- ;;
-
- *) rc=0;;
-esac
-
-exit $rc
-
-# end