|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /etc/periodic/daily/ |
Upload File : |
#!/bin/sh
#
#
# 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_trim_zfs_enable" in
[Yy][Ee][Ss])
echo
echo 'Trimming of zfs pools:'
if [ -z "${daily_trim_zfs_pools}" ]; then
daily_trim_zfs_pools="$(zpool list -H -o name)"
fi
rc=0
for pool in ${daily_trim_zfs_pools}; do
# sanity check
_status=$(zpool list -Hohealth "${pool}" 2> /dev/null)
if [ $? -ne 0 ]; then
rc=2
echo " WARNING: pool '${pool}' specified in"
echo " '/etc/periodic.conf:daily_trim_zfs_pools'"
echo " does not exist"
continue
fi
case ${_status} in
FAULTED)
rc=3
echo "Skipping faulted pool: ${pool}"
continue ;;
UNAVAIL)
rc=4
echo "Skipping unavailable pool: ${pool}"
continue ;;
esac
if ! zpool status "${pool}" | grep -q '(trimming)'; then
echo " starting trim of pool '${pool}'"
zpool trim ${daily_zfs_trim_flags} "${pool}"
else
echo " trim of pool '${pool}' already in progress, skipping"
fi
done
;;
*)
rc=0
;;
esac
exit $rc