Как очистить старые журналы GC? - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь реализовать логику вращения для файлов GC, созданных с помощью опции -Xloggc в приложении с весенней загрузкой. Вот что мне нужно

При каждом перезапуске приложения старый файл application_gc.log не должен перезаписываться.

Я попытался использовать ротацию журналов в сборке, где имена файлов журналов будут application_gc.0, .1 и т. Д. Но также существует риск перезаписи старых файлов.

После исследования я начал добавлять% t к имени файла журнала, чтобы старые файлы оставались такими, как есть.

-Xloggc: /var/log/application_gc-%t.log

С этим вот как выглядит список файлов журнала после нескольких перезапусков приложений.

  1. application_gc-2019-01-21_16-20-18.log
  2. application_gc-2019-01-28_11-27-11.log
  3. application_gc-2019-02-21_06-02-27.log
  4. application_gc-2019-03-01_10-34-09.log // Этот файл в настоящее время записывается как последний перезапуск, произошедший 01 марта 2019 года

Кроме того, я хочу реализовать логику очистки от удаления старше 15 дней. Таким образом, ожидаемый результат ls после вращения

  1. application_gc-2019-03-01_10-34-09.log

Я пытался реализовать dateext с соответствующей меткой времени, но он удалил даже вышеупомянутый файл, так как он был старше 15 дней. Я также попытался выполнить postrotate с параметром "find -name ... -mtime", но у него также была та же проблема.

Я не хочу, чтобы последний записываемый файл был удален.

Возможно, мне не хватает чего-то простого. Было бы здорово получить совет экспертов. Заранее спасибо.

...