128263Spst#!/bin/sh
228263Spst#
350472Speter# $FreeBSD$
428263Spst#
561981Sbrian# Remove garbage files more than $daily_clean_disks_days days old
661981Sbrian#
728263Spst
861981Sbrian# If there is a global system configuration file, suck it in.
961981Sbrian#
1061981Sbrianif [ -r /etc/defaults/periodic.conf ]
1161981Sbrianthen
1261981Sbrian    . /etc/defaults/periodic.conf
1361981Sbrian    source_periodic_confs
1461981Sbrianfi
1528263Spst
1661981Sbriancase "$daily_clean_disks_enable" in
1761981Sbrian    [Yy][Ee][Ss])
1865843Sbrian	if [ -z "$daily_clean_disks_days" ]
1961981Sbrian	then
2065843Sbrian	    echo '$daily_clean_disks_enable is set but' \
2165843Sbrian		'$daily_clean_disks_days is not'
2265843Sbrian	    rc=2
2365843Sbrian	elif [ -z "$daily_clean_disks_files" ]
2465843Sbrian	then
2565843Sbrian	    echo '$daily_clean_disks_enable is set but' \
2665843Sbrian		'$daily_clean_disks_files is not'
2765843Sbrian	    rc=2
2865843Sbrian	else
2961981Sbrian	    echo ""
3070323Sbrian	    echo "Cleaning disks:"
3161981Sbrian	    set -f noglob
32193302Sbrian	    args="-name "`echo "$daily_clean_disks_files" |
3370323Sbrian		sed -e 's/^[ 	]*//' \
3470323Sbrian		    -e 's/[ 	]*$//' \
3570323Sbrian		    -e 's/[ 	][ 	]*/ -o -name /g'`
3661981Sbrian
3775961Sru	    case "$daily_clean_disks_verbose" in
3861981Sbrian		[Yy][Ee][Ss])
3961981Sbrian		    print=-print;;
4061981Sbrian		*)
4161981Sbrian		    print=;;
4261981Sbrian	    esac
4361981Sbrian
44193302Sbrian	    rc=$(find / \( ! -fstype local -o -fstype rdonly \) -prune -o \
45193302Sbrian		\( $args \) -atime +$daily_clean_disks_days \
46193302Sbrian		-execdir rm -df {} \; $print | tee /dev/stderr | wc -l)
4765843Sbrian	    [ -z "$print" ] && rc=0
4865843Sbrian	    [ $rc -gt 1 ] && rc=1
4961981Sbrian	    set -f glob
5061981Sbrian	fi;;
5165843Sbrian
5265843Sbrian    *)  rc=0;;
5361981Sbrianesac
5465843Sbrian
5565843Sbrianexit $rc
56