ports/172479: [patch] Add daily periodic script
Leonid Nevecherya
nlv at imbera.ru
Mon Oct 8 08:40:12 UTC 2012
>Number: 172479
>Category: ports
>Synopsis: [patch] Add daily periodic script
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Mon Oct 08 08:40:11 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Leonid Nevecherya
>Release:
>Organization:
>Environment:
>Description:
Add daily periodic script cciss_vol_status.
Script have parameters
daily_cciss_vol_status_flags="-s" Default check SMART status of array disks,
daily_cciss_vol_status_extra_status_flags="-V" Default full programm output on problem array,
daily_cciss_vol_status_devices This is list of ciss devices to monitor or AUTO to monitor all devices.
The attachments is not a patch. It is script. Sorry.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
#!/bin/sh
# This is script to test CISS volumes
# Author: Leonid Nevecherya
# Maked from smart check script by original author: Garrett Wollman. $FreeBSD: ports/sysutils/smartmontools/files/smart.in,v 1.12 2011/12/01 20:53:31 dinoex Exp $
#
if [ -r /etc/defaults/periodic.conf ]; then
. /etc/defaults/periodic.conf
source_periodic_confs
fi
cciss_vol_status=/usr/local/bin/cciss_vol_status
: ${daily_cciss_vol_status_flags="-s"}
: ${daily_cciss_vol_status_extra_status_flags="-V"}
case "${daily_cciss_vol_status_devices}" in
# XXX AUTO mode selects only regular ad/da disks
[Aa][Uu][Tt][Oo])
daily_cciss_vol_status_devices="$(ls /dev/ciss*)"
;;
*) ;;
esac
if [ -z "${daily_cciss_vol_status_devices}" ]; then
: ${daily_cciss_vol_status_enable="NO"}
else
: ${daily_cciss_vol_status_enable="YES"}
fi
tmpfile="$(mktemp -t daily)"
trap "rm -f ${tmpfile}" 0 1 3 15
rc=0
case "${daily_cciss_vol_status_enable}" in
[Yy][Ee][Ss])
echo
echo 'CISS volumes status:'
cd /dev
for device in ${daily_cciss_vol_status_devices}; do
if [ -e ${device} ]; then
echo -n "Checking health of ${device}: "
${cciss_vol_status} ${daily_cciss_vol_status_flags} \
${device} > "${tmpfile}"
status=$?
if [ ${status} -eq 0 ]; then
echo "OK"
else
rc=1
${cciss_vol_status} \
${daily_cciss_vol_status_extra_status_flags} \
${device}
fi
fi
done
;;
esac
exit "${rc}"
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list