Задать вопрос
@Massacre_Rage

Почему rsyslog перестает работать после rotate?

Добрый день. Настроил логирование микротика на удаленный сервер.
Логи пишутся, после логирования сжимаются и складываются в папку.
Но после выполнения ротации текущий файл лога пустой.
Лечится перезапуском службы systemctl restart rsyslog.
Подскажите почему так может происходить?

/var/log/mikrotik/*.log {
daily
rotate 1
compress
olddir /var/log/mikrotik/old
missingok
notifempty
create 0664 zabbix zabbix
}


#### RULES ####

$template FILENAME,"/var/log/mikrotik/%fromhost-ip%.log"
if $fromhost-ip != '127.0.0.1' then ?FILENAME
& stop
  • Вопрос задан
  • 498 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@iddqda
network engineer, netdevops
в логротэйт.конф добавь copytruncate

Truncate the original log file to zero size in place after creating a copy, instead of moving the old log file and optionally creating a new one. It can be used when some program cannot be told to close its logfile and thus might continue writing (appending) to the previous log file forever. Note that there is a very small time slice between copying the file and truncating it, so some logging data might be lost. When this option is used, the create option will have no effect, as the old log file stays in place.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Добавьте в конфиг:
sharedscripts
postrotate
    /usr/bin/systemctl restart rsyslog 2>/dev/null || true
endscript
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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