저는 Stretch(데비안 기반) 및 timesyncd가 포함된 rapberry Pi 3를 NTP 클라이언트로 사용하고 있습니다.
Pi는 주기적으로 스위치를 켜고 끄고 USB 모뎀을 통해 인터넷에 연결한 다음 시간을 동기화합니다. 시스템 로그 컷:
Oct 3 12:36:02 raspberrypi pppd[2756]: primary DNS address 10.74.32.5
Oct 3 12:36:02 raspberrypi pppd[2756]: secondary DNS address 10.74.32.6
Oct 3 12:36:02 raspberrypi dnsmasq[607]: reading /run/dnsmasq/resolv.conf
Oct 3 12:36:02 raspberrypi dnsmasq[607]: using nameserver 8.8.8.8#53
Oct 3 12:36:02 raspberrypi dnsmasq[607]: using nameserver 10.74.32.5#53
Oct 3 12:36:02 raspberrypi dnsmasq[607]: using nameserver 10.74.32.6#53
Oct 3 12:36:02 raspberrypi dnsmasq[607]: using nameserver 8.8.8.8#53
Oct 3 12:36:02 raspberrypi PPP: Modem connected
Oct 3 12:36:02 raspberrypi kernel: [ 617.235549] nf_conntrack version 0.5.0 (15360 buckets, 61440 max)
Oct 3 12:36:06 raspberrypi autossh[2877]: starting ssh (count 1)
Oct 3 12:36:06 raspberrypi autossh[2877]: ssh child pid is 2878
Oct 4 02:47:23 raspberrypi systemd[2434]: Time has been changed
Oct 4 02:47:23 raspberrypi systemd-timesyncd[274]: Synchronized to time server 91.236.251.24:123 (3.debian.pool.ntp.org).
Oct 4 02:47:23 raspberrypi systemd[1]: Time has been changed
몇 가지 스크립트를 실행해야 합니다.자동으로시스템 시간 동기화가 성공한 후에만 가능합니다. 즉, 온라인
Oct 4 02:47:23 raspberrypi systemd-timesyncd[274]: Synchronized to time server 91.236.251.24:123 (3.debian.pool.ntp.org).
위에 로그인하세요.
누구든지 조언을 해줄 수 있나요? timesyncd가 옵션이 아닌 경우 이벤트 스크립팅을 허용하는 다른 ntp 클라이언트를 제안할 수 있습니까? 아니면 다른 방법이 있나요?
감사해요!
답변1
-daemon이 실행 중인지 확인 ntpd
하고 스크립트에서 시간을 수동으로 업데이트합니다. 성공하면 나머지를 실행합니다.
!#/bin/bash
service ntp stop && ntpq -gq && service ntp start && continue
물론 이를 위해서는 root
업데이트된 권한이 필요합니다.
답변2
시계 변경을 알리는 API가 제안되었지만 아직 구현되지 않았습니다. 시간 동기화 보기원천, 시계가 바뀌면 이 2개의 파일이
/run/systemd/timesync/synchronized
/var/lib/systemd/timesync/clock
"터치"됩니다. 즉, 마지막 수정 시간이 업데이트됩니다. /run
재부팅할 때마다 다시 생성 되는 이러한 디렉터리 중 하나를 만드는 경우 inotifywait
파일 변경 시 이벤트 가져오기를 사용한 다음 프로그램을 실행할 수 있습니다.