Может ли каталог mtime быть старше, чем файл внутри?
У меня есть этот очень глупый и очень простой вопрос, но я подумал, что лучше спросить, прежде чем начать обрезку своего NAS.
Я хочу удалить все каталоги, в которых все файлы старше 30 дней.
Для файлов, которые я мог бы сделать:
find /path/to/files* -mtime +30 -exec rm {} \;
Но это приведет к пустым папкам в некоторых местах. Так что я подумал, чтобы скорее удалить все папки с -mtime +30
но я не уверен, что mtime
папки гарантирует mtime порог для его подпапок и файлов.
Кроме того, если то, что я считаю правильным, какой будет команда для того же?
1 ответ
В Linux время изменения каталога изменяется, если вы:
- добавить новый файл
- удалить существующий файл
- или переименовать файл в нем
Если вы изменяете содержимое существующего файла, это не отражается в каталоге.
Из-за этого я предлагаю использовать эти команды:
find /path/to/folder -type f -mtime +30 -delete
эта команда удаляет рекурсивный файл старше 30 дней и сохраняет папку.
find /path/to/folder -type d -empty -delete
это удалить пустой каталог, если таковые имеются.
Источник:
Дата последнего изменения каталога
Как удалить все пустые каталоги в каталоге из командной строки?