Из-за комбинированного использования Debian stretch, который использует systemd по умолчанию, и sdwdate (который использует Slow Clock Adjuster ( gh )), мои системные часы часто меняются.
В результате journalctl -f
получает бесконечный спам.
[...]
Nov 07 13:46:49 host systemd[766]: Time has been changed
Nov 07 13:46:50 host systemd[766]: Time has been changed
Nov 07 13:46:51 host systemd[766]: Time has been changed
[...]
Это не было проблемой в Debian wheezy, который использовал sysvinit.
Как настроить systemd так, чтобы сообщение не отправлялось Time has been changed
в журнал?
Смежный вопрос Как отключить спам в системном сообщении «Время было изменено» в / var / log / syslog в Debian jessie? была решена, но это решение не будет работать здесь.
systemd
глубоко заботится о таймерах. Кажется, это вызвано обновлением аппаратных часов, напримерhwclock --systohc
, вы звоните так каждую секунду?option to disable systemd's “Time has been changed” message spam in journal log
github.com/systemd/systemd/issues/5207Ответы:
Сообщение приходит из
src/core/manager.c
источников systemd. Он жестко запрограммирован на использование уровня ведения журнала INFO.По умолчанию systemd регистрирует сообщения, имеющие уровень INFO, если вы можете изменить его, выбрав
/etc/systemd/system.conf
:но вы потеряете немало других информационных сообщений.
Лучше всего починить
src/core/manager.c
:(
LOG_DEBUG
определяется как следующий более высокий и самый высокий уровень вsys/syslog.h
) или закомментируйте все сообщение.Я не нашел способ сообщать только об изменениях таймера, которые имеют минимальный размер X секунд. Но если это возможно, это, несомненно, сделает более сложным и подверженным ошибкам патч.
источник