У нас есть 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 дней с даты.
Вопрос:
Моя текущая копия:
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 ?
Вы можете написать один файл конфигурации с разными строфами, по одной для каждого файла, который нужно повернуть, и использовать директивы 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/
}
...