Удалить файлы старше 500 дней

Вот базовая установка, которая у меня сработала. Если запрос сделан из локальной сети, у меня истекает срок действия 1 день, если он сделан удаленно, это 1 час

ExpiresActive On
<If "-R '192.168.0.0/16'">
  ExpiresDefault "access plus 1 day"
</If>
<Else>
  ExpiresDefault "access plus 1 hour"
</Else>
10
30.07.2016, 01:33
1 ответ

Вы упускаете из виду, что find не нуждается в списке файлов в качестве входных данных. Проблема в том, что glob /var/log/arc/* расширяется до слишком большого количества файлов. Однако, find по умолчанию выполняет поиск в подкаталогах, поэтому нет необходимости использовать glob вообще:

find /var/log/arc/ -type f -mtime +500 -delete

-delete - это нестандартный предикат. Если ваша реализация find не поддерживает его, вы можете использовать:

find /var/log/arc/ -type f -mtime +500 -exec rm -f {} +

вместо него.

18
27.01.2020, 20:00

Теги

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