Вы могли бы начать, сказав find /var/dtpdev/tmp/ -type f -mtime +15. При этом будут найдены все файлы старше 15 дней и напечатаны их имена. При желании вы можете указать -printв конце команды, но это действие по умолчанию. Желательно сначала выполнить вышеуказанную команду, чтобы увидеть, какие файлы выбраны.
После того, как вы убедитесь, что findкоманда выводит список файлов, которые вы хотите удалить (и никаких других), вы можете добавить «действие» для удаления файлов. Типичные действия для этого:
-exec rm -f {} \;(или, что то же самое -exec rm -f {} ';')
Это будет выполняться rm -fдля каждого файла; например,
rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-exec rm -f {} +
Это будет работать rm -fна многих файлах одновременно; например,
rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
поэтому он может быть немного быстрее, чем вариант 1. (Может потребоваться запустить rm -fнесколько раз, если у вас есть тысячи файлов.)
-delete
Это говорит findсамо за себя, чтобы удалить файлы, без запуска rm. Это может быть бесконечно быстрее, чем -execварианты, но это не будет работать на всех системах.
Итак, если вы используете вариант 2, вся команда будет выглядеть так:
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +