Как я могу удалить все файлы в папке, к которым не получили доступ в определенном количестве времени?

Согласно Информации о Linux, источник имени, возможно, прибыл из расположения файловой системы / полномочия:

Использование термина поддерживает всесильного административного пользователя, возможно, явился результатом того, что корень является единственной учетной записью, имеющей полномочия записи (т.е. разрешение изменить файлы) в корневом каталоге. Корневой каталог, в свою очередь, берет свое имя от того, что файловые системы (т.е. вся иерархия каталогов, которая используется для организации файлов) в подобных Unix операционных системах были разработаны с древовидным (хотя инвертировано) структура, в которой все каталоги отклоняются из единственного каталога, который походит на корень дерева.

14
14.07.2011, 01:15
2 ответа

Вы хотите find инструмент.

find folder -depth -type f -atime +7 -delete

(Это удалит все файлы (только регулярные, никакие каналы, специальные устройства, каталоги, символьные ссылки) в данной папке и всех подкаталогах (рекурсивно), где прошлое время доступа дольше, чем 7 дней назад.)

20
27.01.2020, 19:50
  • 1
    Вы могли бы хотеть добавить -type f там для обеспечения его только удаляет файлы, не все каталоги. –  Shadur 13.07.2011, 07:42

Можно хотеть проверить tmpwatch который может быть помещен в задание крона. Никакая потребность к самокрутке с find. На RHEL это находится в tmpwatch ОБ/МИН.

3
27.01.2020, 19:50
  • 1
    Это - определенно более изящное решение, но я предпочитаю мобильность find. –  bloudermilk 15.07.2011, 06:21

Теги

Похожие вопросы