#!/bin/sh # # $FreeBSD: src/etc/periodic/daily/110.clean-tmps,v 1.6.2.3 2001/07/26 09:04:14 brian Exp $ # # Perform log 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_logs_enable" in [Yy][Ee][Ss]) if [ -z "$daily_clean_logs_days" ] then echo '$daily_clean_logs_enable is set but' \ '$daily_clean_logs_days is not' rc=2 else echo "" echo "Removing old log files:" set -f noglob args="-atime +$daily_clean_logs_days -mtime +$daily_clean_logs_days" [ -n "$daily_clean_logs_ignore" ] && args="$args "`echo " ${daily_clean_logs_ignore% }" | sed 's/[ ][ ]*/ ! -name /g'` case "$daily_clean_logs_verbose" in [Yy][Ee][Ss]) print=-print;; *) print=;; esac rc=$(for dir in $daily_clean_logs_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_logs_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