Архивные каталоги с подкаталогами, не измененными за x дней

Я давно искал способ архивации нашего файлового сервера, но не нашел работающего решения. objective состоит в том, чтобы искать в каталоге и его подкаталогах файлы, которые не были изменены за последние x дней. Если в родительском или его подкаталогах не найдено файлов, весь родительский каталог должен быть заархивирован (или хотя бы выведен на экран). Любые предложения приветствуются! Привет Джон

Простой ответ состоит в том, чтобы использовать аргумент команды «newer» команды find, который находит любые файлы более новые, чем другой файл. Поскольку на самом деле мы хотим получить обратное, нам понадобится скрипт, который подсчитывает файлы, которые были изменены (т.е. являются более новыми), и печатает имя каталога, если НЕТ найдено.

 DATE=`date -d "-30 days"` #Calculate a date 30 days before today touch -d "$DATE" /tmp/newer #Create a temp file with the calculated date #Assume we're passing in a list of directories #We could just as easily find any directory below a certain point without #newer files by setting DIR=`find /what/ever/directory -type d` for DIR in $* do MOD=`find "$DIR" -newer /tmp/newer | wc -l` #Count the number of newer files if [ "$MOD" -eq 0 ] then echo $DIR # Nothing new in 30 days - Print the name of the Dir fi done