성공적인 시간 동기화 시 자동으로 스크립트 실행 - 방법?

성공적인 시간 동기화 시 자동으로 스크립트 실행 - 방법?

저는 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파일 변경 시 이벤트 가져오기를 사용한 다음 프로그램을 실행할 수 있습니다.

관련 정보