Видаліть файли з логротетом


13

Чи можливо ДУЖЕ видалити файли журналу в каталозі, використовуючи logrotate без фактичного їх обертання? У нас є додаток, який генерує журнали у такому форматі: app.log.DD_MM_YYYY. Я не вдається з логротатом, що має таку конфігурацію:

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

Чи можу це зробити поворот журналу чи мені просто написати сценарій і помістити його в cron?

Найкращий, -Іулійський


Якщо вам не потрібні ці журнали, чому б не вимкнути функцію реєстрації у вашому додатку?
Діх

1
Мені шкода, але я не можу вважати це як відповідь Діх. Щоб живити вашу цікавість, нам потрібні ці журнали для різних операцій, таких як налагодження, ми просто не хочемо тримати їх там, щоб вони згнили.
Іуліан

Відповіді:


16

У цьому випадку ви можете використовувати 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
}

4

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


2
Будь ласка, не публікуйте відповіді лише для посилань, щоб запобігти гниттю посилання. Натомість додайте до своєї відповіді найбільш релевантну інформацію із посилання або, замість відповіді, опублікуйте її як коментар. Додаткову інформацію див. У цій статті довідкового центру.
Свен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.