/etc/ntp.conf 파일에서 NTP 서버를 가져와 NTP를 통해 날짜를 업데이트하는 한 줄의 코드를 원합니다. 특히 수동 명령이 항상 작동하는 것은 아니며 방화벽 규칙으로 인해 /etc/ntpd.conf의 모든 서버에 액세스할 수 있는 것은 아닙니다.
service ntpd stop, ntpdate ntp1host, service ntpd start
이것은 일반적인 관행이 될 것입니다. 데몬을 종료하지 않고 NTP를 통해 시간 업데이트를 강제할 수 있는 명령이 있습니까?
답변1
이것은 매우 나쁜 생각입니다. 설명하겠습니다.
이 ntp
데몬은 시스템 시계를 제어할 것으로 예상됩니다. 시작 시 허용되는 경우 시계를 건너뛰어 시간이 원격 시간 서버에서 제공하는 시간에 가까워지도록 합니다. 이후 시스템 시계에서 생성된 현지 시간과 원격으로 제공되는 현지 시간을 주기적으로 비교하여 로컬 시계를 더 빠르게 또는 느리게 조정하여 동기화를 유지합니다.
동기화에는 두 가지 수준이 있습니다.
- 원격 시간 서버에 비해 시계를 정확하게 유지
- 오랜 시간 동안 현지 시계가 충분히 제어되어 인터넷 연결 없이도 대략적인 정확한 시간을 계속 유지할 수 있도록 보장합니다.
시계를 점프하거나 시계를 설정하여(사용 ntpdate
또는 수동으로) 새로운 전환을 도입하는 경우 #2의 장기 계산이 중단되고 시계 규율이 너무 심해 이전에 비해 눈에 띄는 손실 또는 이득이 있을 수 있습니다. 현실, 오랜만이다. 이런 일이 발생하는 경우 유일한 실제 해결 방법은 종료하고 ntp
참조 조정 파일을 삭제한 다음 서버를 강제로 다시 시작하는 것입니다. 진짜.
계속하고 싶다면 다음을 시도해 보세요.
ntpdate -u $(awk '$1=="server" {print $2}' /etc/ntp.conf)
하지만ntp
어떤 경우에도 실행 중인 동안에는 사용을 권장하지 않습니다..
답변2
흠... 아쉽게도 그런 기능은 없는 것 같습니다.
이 위키 페이지(https://support.ntp.org/bin/view/Dev/DeprecatingNtpdate) 마이그레이션과 관련하여 그러한 기능이 문서화되어 있지 않은 것 같습니다(아직?).