sdwdate를 사용하는 동안 systemd 저널에서 systemd의 "시간이 변경되었습니다"메시지 스팸을 비활성화하는 방법은 무엇입니까?


10

기본적으로 systemd를 사용하는 Debian stretch와 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
[...]

이것은 sysvinit를 사용한 데비안 wheezy에서는 문제가되지 않았습니다.

Time has been changed저널에 메시지를 보내지 않도록 systemd를 어떻게 구성 할 수 있습니까?

관련 질문 Debian jessie의 / var / log / syslog에서 systemd의 "시간이 변경되었습니다"메시지 스팸을 비활성화하는 방법은 무엇입니까? 해결되었지만 해당 솔루션은 여기서 작동하지 않습니다.


systemd타이머에 깊은 관심을 기울입니다. 예를 들어 hwclock --systohc, 하드웨어 시계를 업데이트하면 트리거되는 것처럼 보입니다 .
mr.spuratic

@ mr.spuratic 연결된 소스를 보면 정확히 무슨 일이 일어나고있는 것 같습니다.
Dan Getz

예, 이것이 느린 클럭 조정 (sclockadj)이하는 일입니다. @ mr.spuratic
adrelanos

1
systemd feature request : option to disable systemd's “Time has been changed” message spam in journal log github.com/systemd/systemd/issues/5207
adrelanos

답변:


10

메시지는 시스템 src/core/manager.c소스에서 나옵니다 . INFO 시스템 로깅 레벨을 사용하도록 하드 코드되었습니다.

기본적으로 systemd는 다음으로 변경 /etc/systemd/system.conf하여 변경할 수있는 경우 정보 수준이있는 메시지를 기록합니다 .

LogLevel=notice

그러나 다른 정보 메시지도 많이 잃게됩니다.

src/core/manager.c읽기 위해 패치 하는 것이 가장 좋습니다 .

 log_struct(LOG_DEBUG,
            MESSAGE_ID(SD_MESSAGE_TIME_CHANGE),
            "MESSAGE=Time has been changed",
            NULL);

( LOG_DEBUG에서 다음으로 높고 높은 수준으로 정의 됨 sys/syslog.h) 또는 전체 메시지를 주석 처리합니다.

최소 크기가 X 초인 타이머 변경 사항 만보고하는 방법을 찾지 못했습니다. 그러나 가능하다면 더 복잡하고 오류가 발생하기 쉬운 패치를 만들 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.