1#!/bin/sh 2# 3# $FreeBSD$ 4# 5# Perform temporary directory cleaning so that long-lived systems 6# don't end up with excessively old files there. 7# 8 9# If there is a global system configuration file, suck it in. 10# 11if [ -r /etc/defaults/periodic.conf ] 12then 13 . /etc/defaults/periodic.conf 14 source_periodic_confs 15fi 16 17case "$daily_clean_tmps_enable" in 18 [Yy][Ee][Ss]) 19 if [ -z "$daily_clean_tmps_days" ] 20 then 21 echo '$daily_clean_tmps_enable is set but' \ 22 '$daily_clean_tmps_days is not' 23 rc=2 24 else 25 echo "" 26 echo "Removing old temporary files:" 27 28 set -f noglob 29 args="-atime +$daily_clean_tmps_days -mtime +$daily_clean_tmps_days" 30 args="${args} -ctime +$daily_clean_tmps_days" 31 dargs="-empty -mtime +$daily_clean_tmps_days" 32 [ -n "$daily_clean_tmps_ignore" ] && { 33 args="$args "`echo " ${daily_clean_tmps_ignore% }" | 34 sed 's/[ ][ ]*/ ! -name /g'` 35 dargs="$dargs "`echo " ${daily_clean_tmps_ignore% }" | 36 sed 's/[ ][ ]*/ ! -name /g'` 37 } 38 case "$daily_clean_tmps_verbose" in 39 [Yy][Ee][Ss]) 40 print=-print;; 41 *) 42 print=;; 43 esac 44 45 rc=$(for dir in $daily_clean_tmps_dirs 46 do 47 [ ."${dir#/}" != ."$dir" -a -d $dir ] && cd $dir && { 48 find -x -d . -type f $args -delete $print 49 find -x -d . ! -name . -type d $dargs -delete $print 50 } | sed "s,^\\., $dir," 51 done | tee /dev/stderr | wc -l) 52 [ -z "$print" ] && rc=0 53 [ $rc -gt 1 ] && rc=1 54 set -f glob 55 fi;; 56 57 *) rc=0;; 58esac 59 60exit $rc 61