xref: /dragonfly/etc/periodic/daily/110.clean-tmps (revision 984263bc)
1#!/bin/sh
2#
3# $FreeBSD: src/etc/periodic/daily/110.clean-tmps,v 1.6.2.4 2002/10/13 19:59:01 joerg Exp $
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	    [ -n "$daily_clean_tmps_ignore" ] &&
32		args="$args "`echo " ${daily_clean_tmps_ignore% }" |
33		    sed 's/[ 	][ 	]*/ ! -name /g'`
34	    case "$daily_clean_tmps_verbose" in
35		[Yy][Ee][Ss])
36		    print=-print;;
37		*)
38		    print=;;
39	    esac
40
41	    rc=$(for dir in $daily_clean_tmps_dirs
42		do
43		    [ ."${dir#/}" != ."$dir" -a -d $dir ] && cd $dir && {
44			find -d . -type f $args -delete $print
45			find -d . ! -name . -type d -empty -mtime \
46			    +$daily_clean_tmps_days -delete $print
47		    } | sed "s,^\\.,  $dir,"
48		done | tee /dev/stderr | wc -l)
49	    [ -z "$print" ] && rc=0
50	    [ $rc -gt 1 ] && rc=1
51	    set -f glob
52	fi;;
53
54    *)  rc=0;;
55esac
56
57exit $rc
58