Назад | Перейти на главную страницу

Удалите файлы с помощью logrotate

Возможно ли ПРОСТО удалить файлы журнала в каталоге с помощью logrotate без их фактического вращения? У нас есть приложение, которое генерирует логи в следующем формате: app.log.DD_MM_YYYY. Мне не удалось использовать logrotate со следующей конфигурацией:

/opt/log/app/app.log.* {
         rotate 0
         missingok
         nomail
}

Можно ли сделать это с помощью ротации журналов или мне просто написать сценарий и поместить его в cron?

Best, -Иулиан

В этом случае вы можете использовать postrotate. В приведенном ниже примере postrotate удалит файлы, которые старше 1 дня после ротации журналов, не стесняйтесь изменять их в соответствии с вашими потребностями.

/opt/log/app/app.log.* {
        missingok
        nomail
postrotate
        /usr/bin/find /opt/log/app/ -name "app.log.*" -type f -mtime +0 -exec rm {} \;
endscript
}

Цель logrotate - сохранить определенное количество файлов журнала в заданный интервал времени. Я бы использовал cron для вашей задачи. Подробнее о том, что можно делать с помощью logrotate, можно узнать здесь: http://www.jamescoyle.net/cheat-sheets/676-logrotate-cheat-sheet