Назад | Перейти на главную страницу

Можно ли найти каталоги шоу с метками времени содержащихся в каталогах?

У меня есть сценарий для очистки старых файлов и каталогов в области журнала, например:

find . -mtime +${NUM_DAYS} -type d -exec rm -rf '{}' \;

Однако, если я запустил эти два уровня вверх от файлов, которые изменились, он часто будет показывать родительский каталог, потому что отметка времени не изменяется при изменениях в подкаталоге

Есть ли способ использовать find (или что-то еще), чтобы я не пытался удалить родительский каталог?

Например, если у меня есть файловая система:

# ls -ld /var
drwxr-xr-x 24 root root 4096 Aug 16  2010 /var
# ls -ld /var/net-snmp/
drwx------ 2 root root 4096 Aug 28 15:49 /var/net-snmp/
# ls -l /var/net-snmp/
total 4
-rw------- 1 root root 1174 Aug 28 15:49 snmpd.conf

Выполнение моей команды поиска из / с будет пытаться рекурсивно удалить / var, даже если NUM_DAYS установлено так, что 28 августа находится в моей шкале времени

Предполагая, что Linux, я бы попробовал tmpwatch.

Вы можете использовать опцию -mindepth:

    -mindepth levels
        Do  not  apply  any tests or actions at levels less than levels
        (a non-negative integer).  -mindepth 1 means process all files
        except the command line arguments.