rendered paste body#!/bin/shTMP="/tmp"MAXAGE=$(( 31 + ( `sed 's/[^0-9].*$//g' /proc/uptime` / 90000 ) ))TIME=`date +"%Y/%m/%d at %T -->"`echo "Cleaning /tmp ..."echo "Remove files from $TMP older then $MAXAGE days"find "$TMP/" -maxdepth 1 -mindepth 1 -not -type d -mtime +$MAXAGE | while read FILEdo ( rm -f "$FILE" &> /dev/null ) && \ ( echo "$TIME Delete file: $FILE" | tee -a "$TMP/trash.log" ) || \ ( echo "$TIME ERROR: Delete file: $FILE" )doneecho "Remove all dirs with only $MAXAGE days old contents from $TMP"find "$TMP/" -mindepth 1 -maxdepth 1 -type d -mtime +$MAXAGE | while read DIRdo NEWEST=`( find "$DIR" -mindepth 1 -mtime -$MAXAGE | while read F ; do find "$F" -printf "%TY%Tm%Td%TH%TM\\n" ; done ) | sort | tail -n 1 ` if test "$NEWEST" then ( touch -r "$NEWEST" "$DIR" ) && \ ( echo "$TIME Touch $NEWEST of dir: $DIR") || \ ( echo "$TIME ERROR: Touch $NEWEST of dir: $DIR" ) else ( rm -rf "$DIR" &> /dev/null ) && \ ( echo "$TIME Delete dir: $DIR" | tee -a "$TMP/trash.log" ) || \ ( echo "$TIME ERROR: Delete dir: $DIR" ) fidone# vim:ts=4