Как настроить ротацию журналов для сжатия и архивирования журналов еженедельно

У нас есть rsyslog, который сохраняет журналы в зависимости от требований в различные каталоги:

/opt/logs/stats/dc1/stats_YYYY-MM-DD_%somename%.log
/opt/logs/stats/dc2/stats_YYYY-MM-DD_%somename%.log
/opt/logs/events/dc1/events_YYYY-MM-DD_%somename%.log
/opt/logs/events/dc2/events_YYYY-MM-DD_%somename%.log
/opt/logs/security/dc1/security_YYYY-MM-DD_%somename%.log
/opt/logs/security/dc2/security_YYYY-MM-DD_%somename%.log

Как архивировать эти журналы еженедельно?

Я бы хотел, чтобы они были сжаты и перемещены в другую папку:

/mnt/logs_archive/stats/dc1/stats_<YYYY-MM-DD>.tar.gz
/mnt/logs_archive/events/dc1/events_<YYYY-MM-DD>.tar.gz
/mnt/logs_archive/security/dc1/security_<YYYY-MM-DD>.tar.gz
/mnt/logs_archive/stats/dc2/stats_<YYYY-MM-DD>.tar.gz
/mnt/logs_archive/events/dc2/events_<YYYY-MM-DD>.tar.gz
/mnt/logs_archive/security/dc2/security_<YYYY-MM-DD>.tar.gz

Где ГГГГ-ММ-ДД - это дата переезда, поэтому мы знаем, что он должен включать журналы за последние 7 дней с даты.

Вопрос:

  1. Есть ли способ добиться этого в простой / простой конфигурации.
  2. Придется ли мне создавать новую для пути к журналу?
  3. Для определенных папок (событий безопасности) нас не интересуют в архиве журналов более 120 дней. можно ли этого достичь?

Моя текущая копия:

copytruncate
compress
dateformat _%Y-%m-%d.
dateext
extension log
olddir /mnt/archive_logs/

/opt/logs/stats/gw_stats*.log {
    rotate 48
    hourly
}

Это дает мне несколько сжатых файлов

ll /mnt/archive_logs/


stats_YYYY-MM-DD_f2._2021-04-02.log.gz
stats_YYYY-MM-DD_asdas3._2021-04-02.log.gz

, могу ли я объединить это в один stats_YYYY-MM-DD.gz?

Также как использовать tar.gz ?

1
задан 2 April 2021 в 21:36
1 ответ

Вы можете написать один файл конфигурации с разными строфами, по одной для каждого файла, который нужно повернуть, и использовать директивы dateext, dateformat, olddir, но будьте осторожны с olddir (your / mnt dir предполагает, что физическое устройство другое, поэтому, вероятно, вам следует использовать postrotate для перемещения повернутых файлов)

olddir directory

Журналы перемещаются в каталог для ротации. Каталог должен находиться на том же физическом устройстве, что и ротационный файл журнала, и предполагается, что он расположен относительно каталога, содержащего файл журнала, если не указано абсолютное имя пути. При использовании этой опции все старые версии журнала попадают в каталог. Эта опция может быть отменена опцией noolddir.

Ваш файл конфигурации будет выглядеть (если имена stats.log и events.log совпадают с именами файлов журнала).

compress
weekly
rotate 120
dateext
dateformat _%Y-%m-%d

/opt/logs/stats/dc1/stats.log {
   olddir /mnt/logs/archive/stats/dc1/
}

/opt/logs/events/dc1/events.log {
   olddir /mnt/logs/archive/events/dc1/
}

...
1
ответ дан 24 April 2021 в 00:49

Теги

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