6e84ba78c1
and atime only, but also the ctime. Otherwise, files extracted from tar or zip archives will immediately be declared stale since they've got their mtime reset to the original mtime. Reviewed by: brian MFC after: 1 week
58 lines
1.3 KiB
Bash
Executable File
58 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# Perform temporary directory cleaning so that long-lived systems
|
|
# don't end up with excessively old files there.
|
|
#
|
|
|
|
# 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_clean_tmps_enable" in
|
|
[Yy][Ee][Ss])
|
|
if [ -z "$daily_clean_tmps_days" ]
|
|
then
|
|
echo '$daily_clean_tmps_enable is set but' \
|
|
'$daily_clean_tmps_days is not'
|
|
rc=2
|
|
else
|
|
echo ""
|
|
echo "Removing old temporary files:"
|
|
|
|
set -f noglob
|
|
args="-atime +$daily_clean_tmps_days -mtime +$daily_clean_tmps_days"
|
|
args="${args} -ctime +$daily_clean_tmps_days"
|
|
[ -n "$daily_clean_tmps_ignore" ] &&
|
|
args="$args "`echo " ${daily_clean_tmps_ignore% }" |
|
|
sed 's/[ ][ ]*/ ! -name /g'`
|
|
case "$daily_clean_tmps_verbose" in
|
|
[Yy][Ee][Ss])
|
|
print=-print;;
|
|
*)
|
|
print=;;
|
|
esac
|
|
|
|
rc=$(for dir in $daily_clean_tmps_dirs
|
|
do
|
|
[ ."${dir#/}" != ."$dir" -a -d $dir ] && cd $dir && {
|
|
find -d . -type f $args -delete $print
|
|
find -d . ! -name . -type d -empty -mtime \
|
|
+$daily_clean_tmps_days -delete $print
|
|
} | sed "s,^\\., $dir,"
|
|
done | tee /dev/stderr | wc -l)
|
|
[ -z "$print" ] && rc=0
|
|
[ $rc -gt 1 ] && rc=1
|
|
set -f glob
|
|
fi;;
|
|
|
|
*) rc=0;;
|
|
esac
|
|
|
|
exit $rc
|