Из справочной страницы find
:
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
-mtime n
File's data was last modified n*24 hours ago. See the comments for
-atime to understand how rounding affects the interpretation of
file modification times.
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to have
been accessed at least two days ago.
Таким образом, -mtime +5
найдет те файлы, которые были последний раз изменены более 5 * 24 часов назад, и -mtime -5
найдет эти файлы, последние изменения которых были менее 5 * 24 часов назад. Чтобы удалить файлы старше 5 дней 1, вы должны сделать:
find /mnt/sdb1/tmp/ -type f -mtime +5 -exec rm {} \;
Если это не возвращает желаемый результат, возможно, проблема с отметкой времени. Правильно ли сообщается для рассматриваемых файлов? Если это внешний USB-накопитель, возможно, файлы были созданы на другом компьютере и имеют метку времени, отличную от ожидаемой.
1 Учтите, что единица измерения здесь - сутки, 24 часа.Таким образом, возраст более 5 дней означает возраст не менее 6 дней, поскольку значение всегда округляется, а дробные части игнорируются.