인터넷에서 날짜를 검색하고 명령줄을 통해 컴퓨터 시계를 설정하려면 어떻게 해야 합니까?
답변1
날짜를 업데이트하기 위해 아무것도 설치하고 싶지 않은 경우를 대비해 시간을 업데이트하는 작은 명령을 찾았습니다. :)
sudo date -s "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | sed -n 's/^ *Date: *//p')"
date
실제로 시간을 설정하기 전에 다음을 실행하여 문자열을 올바르게 이해했는지 확인할 수 있습니다.
$ date -d "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | sed -n 's/^ *Date: *//p')"
Mon Jan 10 11:40:46 AM CET 2022
이 wget
명령은 로 대체될 수 있습니다 curl -Is --max-redirs 0 google.com
.
응답이 최신인 동안 응답이 캐시될 수 있는 것처럼 --method=HEAD
보이기 때문에 (이전 헤더 사용) 이 방법이 사용됩니다 .GET
Date
HEAD
답변2
먼저 시간대를 변경하려면 다음을 사용할 수 있습니다.
sudo dpkg-reconfigure tzdata
최신 버전의 systemd를 사용하여 Linux 배포판의 인터넷에서 시간과 날짜를 업데이트하려면 다음을 사용할 수 있습니다.
timedatectl set-ntp true
또는 아래 설명에 따라 참조 NTP 구현을 설치할 수 있습니다.
참조 NTP 구현
설치하다
설치되어 있지 않은 경우 ntpd
다음 명령 중 하나를 사용하여 설치하십시오 ntpd
.
- RPM 기반의 경우:
yum install ntp
- Debian 기반의 경우:
sudo apt-get install ntp
구성
/etc/ntp.conf
구성 파일에서 최소한 다음 매개변수를 설정해야 합니다 .
server <Time Server Name or IP Address>
예를 들어 /etc/ntp.conf
vi 텍스트 편집기를 사용하여 파일을 엽니다.
# vi /etc/ntp.conf
서버 매개변수를 찾아 다음과 같이 설정합니다.
server pool.ntp.org
파일을 저장하고 ntpd
서비스를 다시 시작합니다.
# /etc/init.d/ntpd start
다음 명령을 사용하여 시스템 시계를 NTP 서버에 즉시 동기화할 수 있습니다.
# ntpdate pool.ntp.org
수동으로 날짜 설정
시간과 날짜를 수동으로 설정하려면 다음 구문을 사용하십시오.
date --set="STRING"
예를 들어 날짜를 로 설정하려면 2 Oct 2006 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)
%p
해당 로케일에 해당하는 AM/PM을 사용할 수 있습니다 .
# date +%T%p -s "6:10:30AM"
# date +%T%p -s "12:10:30PM"
답변3
나는 이것을 사용합니다 :
sudo ntpd -qg; sudo hwclock -w
먼저 ntpd에 시간을 설정하도록 지시한 다음 -q를 사용하여 중지합니다. 또한 시계가 매우 잘못된 경우 이 경우에도 -g를 사용하여 조정하도록 ntpd에 지시해야 합니다. 마지막으로 hwclock -w를 사용하여 재부팅 시 변경 사항이 유지되도록 시계가 하드웨어에 기록됩니다(-w는 하드웨어 시계를 현재 시스템 시간으로 설정하는 데 사용되며 차이가 있습니다).
답변4
ntpdate, ntpd 또는 Chrony를 사용하여 NTP 서버에 연결합니다.