it-swarm-ko.tech

시계를 시간 서버와 동기화하도록 Ubuntu를 설정하는 방법은 무엇입니까?

Ubuntu가 시작할 때 시스템 시계를 시간 서버와 자동으로 동기화하고 싶습니다.

그러나 로그인 한 후까지 PC가 인터넷에 연결되어 있지 않습니다 (5-10 초 이상).

이를 위해 어떻게 설정할 수 있습니까?

23
Nathan Osman

이것은 NTP에서 수행되며 instructions 를 사용할 수 있습니다. 기본적으로 NTP 데몬을 설치해야합니다. 몇 가지 선택 사항이 있지만 "표준"항목은 ntp 패키지에 있습니다. 링크 된 페이지의 지침에 따라

Sudo apt-get install ntp

ubuntu의 NTP 서버와 동기화하도록 설정된 모든 것을 얻습니다.

EDIT : "시작할 때"가 빠졌습니다. 일반적으로 ntpd를 사용하여 시스템과 서버 간의 지속적인 동기화를 얻는 것이 좋지만 실제로 한 번만 동기화하려는 경우 mfisch의 답변이 원하는 것 같습니다.

32
David Z

"시스템-> 관리-> 시간 및 날짜"로 이동하면 날짜/시간을 설정하는 GUI가 나타납니다.

시간 서버를 사용하기위한 옵션이 제공됩니다. 확인하고 NTP가 설치되어 있지 않은 경우 설치할 것인지 묻습니다. "예"를 클릭하고 작업을 수행하십시오. :)

9
Little Jawa

atntpdate를 사용하여이 작업을 수행 할 수 있습니다. at가 이미 설치되어 있지만 ntpdate이 아닐 수도 있습니다. (apt-get install ntpdate).

먼저 ntpdate를 실행하는 작은 스크립트를 작성하고 update_time.sh라고합니다.

#!/bin/bash
ntpdate pool.ntp.org

.bash_login 파일 (생성해야 할 수도 있음)에 다음을 추가하십시오.

at -f ~/update_time.sh now + 1 minute

그것은 당신이 원하는 것을해야합니다. at가 사용하는 지연 시간을 5 분, 10 분 등으로 변경할 수 있습니다.

편집 : 방금 ntpdate을 (를) 실행하려면 루트 권한이 필요하다는 것을 깨달았습니다. 위에서 언급 한 update_time.sh 스크립트에서 SUID 비트를 설정해야합니다. 명령에서이를 실행하면됩니다 (한 번만 실행하면 됨).

Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
6
mfisch

우분투 16.04 이후 timedatectl/timesyncd (systemd의 일부)는 ntpdate/ntp의 대부분을 대체합니다. 시간 동기화 를 참조하십시오.

다음을 사용하여 시간 동기화를 활성화해야 할 수도 있습니다.

$ Sudo timedatectl set-ntp on

Chrony를 사용하려는 경우 :

  • 원샷 동기화가 필요한 경우 : $ chronyd -q

  • 시간을 설정하지 않고 원샷 시간 확인이 필요한 경우 $ chronyd -Q

  • 지속적인 동기화를 위해 권장되는 솔루션은 다음과 같습니다.

크로 니 (d)

NTP 데몬 chronyd는 시스템 클록의 드리프트 및 오프셋을 계산하고이를 지속적으로 조정하므로 예를 들어 로그가 일치하지 않는 큰 수정 사항이 없습니다. 비용은 약간의 처리 능력과 메모리이지만 현대 서버에서는 일반적으로 무시할 수 있습니다. 설치

Chrony를 설치하려면 터미널 프롬프트에서 다음을 입력하십시오.

$ Sudo apt install chrony

활성화해야 할 수도 있습니다

Sudo timedatectl set-ntp 켜기

Update : 위의 방법으로 문제가 해결되지 않으면 cron 작업이 $ chronyd -q

0
JBaczuk