인터넷에서 시간과 날짜를 어떻게 설정합니까?


34

인터넷에서 날짜를 검색하고 명령 줄에서 컴퓨터 시계를 설정하려면 어떻게합니까?


3
다운 보트를 이해하지 못합니다. 간단한 질문은 커뮤니티를 강력하게 만드는 것입니다. 예를 들면 다음과 같습니다
Mohsen

3
마우스로 질문의 아래쪽 화살표 위로 마우스를 가져 가면 "이 질문은 연구 노력을 보여주지 않습니다. 불분명하거나 유용하지 않습니다". 나는 첫 번째 (당신이 찾은 것을 표시하지 않음), 두 번째 (현재 작업중 인 특정 플랫폼에 대한 표시가 없으며, 왜 이것이 일반적인 시간 데몬 대신 명령 줄이어야하는지에 따라 질문을 줄이려고합니다. ) 세 번째 (대부분의 * nix 사용자에게는 기본적으로 시간 데몬이 설치되어 있음).
Anthon

+1 나는 downvotes를 이해하지 못합니다. 왜냐하면 이것은 이전에 여러 번 버그를 일으킨 것이기 때문이며,이 특정 주제에 대해 간결하고 유용한 것을 찾는 것은 불가능한 것 같습니다.
l0b0

@Mohsen 나는 downvote하지 않았다하지만 당신은 링크 된 질문에 대한 차이는 전혀 없다는 것입니다 switch직접 통해 날짜를 설정할 수있는 반면 루비에 date -s(맨 페이지 참조), 또는 명령 중 하나는 아래에 설명 된 사용 ...
Ulrich Dangel

1
@Anthon에 동의하지 않습니다. 그 질문은 BusyBox를 사용하는 작은 장치에 관한 것입니다. 일반적인 조언은“NTP 사용”을 반드시 적용 할 필요는 없습니다
Gilles 'SO-stop

답변:


29

당신이 사용할 수있는 :

sudo dpkg-reconfigure tzdata

시간대를 구성합니다.

인터넷에서 시간과 날짜를 업데이트하려면 다음을 사용하십시오.

설치

ntpd가 설치되지 않은 경우 다음 명령 중 하나를 사용하여 ntpd를 설치하십시오.

  • RPM 기반 :

    yum install ntp 
    
  • 데비안 기반 :

    sudo apt-get install ntp
    

구성

최소한 /etc/ntp.conf 구성 파일에서 다음 매개 변수를 설정해야합니다. server

예를 들어 vi 텍스트 편집기를 사용하여 /etc/ntp.conf 파일을 엽니 다.

  # vi /etc/ntp.conf

서버 매개 변수를 찾아서 다음과 같이 설정하십시오.

  server pool.ntp.org

파일을 저장하고 ntpd 서비스를 다시 시작하십시오.

  # /etc/init.d/ntpd start

다음 명령을 사용하여 시스템 시계를 NTP 서버에 즉시 동기화 할 수 있습니다.

  # ntpdate pool.ntp.org

* 시간과 날짜를 수동으로 설정하려면 다음 구문을 사용하십시오.

 date --set="STRING"

예를 들어, 새 데이터를 2006 년 10 월 2 일 18:00:00으로 설정하고 루트 사용자로 다음 명령을 입력하십시오.

# date -s "2 OCT 2006 18:00:00"

또는

# date --set="2 OCT 2006 18:00:00"

다음 구문을 사용하여 형식을 단순화 할 수도 있습니다.

# date +%Y%m%d -s "20081128"

시간을 설정하려면 다음 구문을 사용하십시오.

# date +%T -s "10:13:13"

어디에,

10 :시 (hh) 13 : 분 (mm) 13 : 초 (ss)

AM 또는 PM에 해당하는 % p 로케일을 사용하고 다음을 입력하십시오.

# date +%T%p -s "6:10:30AM"

# date +%T%p -s "12:10:30PM"

날짜 정보가 모두 유효한 것처럼 보이지만 OP 제목 의 요구 사항 from the internet은 어디에서나 고려 되지 않습니다 .
Anthon

tzdata (시간대 데이터) 패키지는 인터넷의 데이터 만 동기화한다고 생각합니다. 내가 틀렸다면 나를 바로 잡으십시오.
tusharmakkar08

3
tzdata실제 날짜 및 시간이 아닌 시간대 및 일광 절약 시간 (시작, 종료, 시대)에 대한 정보 입니다. 물론 시간대 및 UTC 시간에 대한 지식을 기반으로 현지 시간에 도착하는 방법을 아는 것이 편리하지만 인터넷에서 후자를 검색해야합니다.
Anthon 2016 년

당신은 잘못. 시간대 데이터는 항상 업데이트되어야합니다 (항상 변경 사항이 있음). 그러나 인터넷에서 자동으로 업데이트되지는 않으며 인터넷에서 시간을 설정하지도 않습니다.
Ulrich Dangel

@Anthon : 해당 답변을 편집했습니다. 감사합니다.
tusharmakkar08

22

날짜를 업데이트하기 위해 아무것도 설치하지 않으려는 경우 시간을 업데이트하는 작은 코드가 있습니다. :)

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

1
google.in시간대 (INDIA)의 현재 시간을 가져 오는 데 사용 합니다.
Dilawar

후행 Z은 zulu 시간대로 시간이 주어짐을 나타내므로 컴퓨터 시간대가 올바르게 설정된 경우 특별한 시간대 조작이 필요하지 않습니다.
user202729

9

나는 이것을 사용한다 :

sudo ntpd -qg; sudo hwclock -w

먼저 ntpd에 시간을 설정하고 그 후에 -q를 사용하여 중지하도록 지시하십시오. 또한 시계에 큰 오류가있는 경우 ntpd에 -g로 조정하도록 알려야합니다. 마지막으로 hwclock -w로 재부팅 할 때 변경 사항을 유지하기 위해 시계를 하드웨어에 씁니다 (하드웨어 시계를 현재 시스템 시간으로 설정하는 경우에는 -w가 있습니다).


1
세미콜론 대신 "&&"를 사용하여이 작업을 수행하는 경향이 있습니다. 첫 번째 명령이 실패하면 (예 : 네트워크 연결이 끊어지면) 두 번째 명령이 단락됩니다.
Theophrastus


5

일부 배포판은 출하되고있다 RDATE를 그 목적을 위해. 기본 사용법 :

# just query
bash-4.2$ rdate pool.ntp.org
rdate: [pool.ntp.org]   Wed Jun 12 11:05:40 2013

# set system time
bash-4.2$ rdate -s pool.ntp.org

ntp보다 낫고 쉬운 방법
andrewtweber

pool.ntp.org이제에서 연결을 거부합니다 rdate. time.nist.gov공장. 또한 시스템 시간을 설정 한 후에는 하드웨어 시계를 hwclock -w시스템 시간으로 설정 하여 실행 해야합니다. 그런 다음 다음을 실행하여 올바른지 확인할 수 있습니다.hwclock -r
MatthewLee

5

약간의 연구 끝에, 나는 이것으로 끝났다. 또한 내 서버에도 적용했습니다.

sudo apt-get install ntp
sudo dpkg-reconfigure ntp
ntpq -p

마지막 명령에 유효한 서버 목록이 표시되면 계속 진행하십시오. 이 명령은 특히 시계 드리프트를 반복하고 보상하는 매우 복잡한 알고리즘 세트를 실행합니다. NTP 서버와의 연결이 끊어 지더라도 꽤 정확한 시계가됩니다. 그러나 명령을 시작하는 데 몇 분이 걸립니다.

출처 : here and here .


0

"피어"(검색 할 수있는 호스트)를 찾으려면을 사용할 수 있습니다 ntpq -p.

NTP 서비스가 이미 실행중인 경우을 사용하여 수동으로 업데이트하기 전에 서비스를 중지해야합니다 sudo service ntp stop.

이제 예를 들어을 사용하여 피어를 쿼리 할 수 ​​있습니다 sudo ntpdate "peer".


0

manatwork 의 답변 에서 제안한대로 rdate 도구를 사용 하지만 SNTP 프로토콜 및 IPv4 옵션을 사용하는 경우 :-n-4

# just print synced time, not set
rdate -n -4 -p time-a.nist.gov

# print and set synced time
sudo rdate -n -4 time-a.nist.gov

이 도구는 데비안에 설치 될 수 있습니다 :

sudo apt-get install rdate

0

Tushar의 답변 외에도 apt-get install ntpdateUbuntu 14.04도 수행해야 했습니다.

평판이 충분하지 않기 때문에 답변으로 게시


0

또한 정기적으로 시계를 재설정하는 비 ntp / ntpd 방법을 찾고있었습니다. google.com 헤더 구문 분석이 마음에 들었지만 우분투에서는 작동하지 않습니다. 나는 이것이 라즈베리 파이에서도 작동한다고 생각합니다.

sudo date +"%d %b %Y %T %Z" -s "$(wget -qSO- --max-redirect=0 http://google.com 2>&1 | grep '^  Date:' | cut -d' ' -f 5-)"

또한 wget 대신 curl을 사용하는 대안입니다.

sudo date +"%d %b %Y %T %Z" -s "$(curl -s --head http://google.com | grep '^Date:' | cut -d' ' -f 3-)"

셀룰러 네트워크를 사용하여 PI에서 테스트했으며 결과는 비슷합니다.

Using host & wget -- RCV: 1324 bytes SND: 581 bytes
Using host & curl -- RCV: 1318 bytes SND: 567 bytes

참고 호스트를 사용하여 google.com을 IP 주소로 확인하므로 iptables를 사용하여이 명령 기간 동안 해당 IP 만 열 수 있습니다.

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