리눅스에서 현재 시간을 설정하는 방법?


69

다음 명령의 출력이 다른 이유는 무엇입니까?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST  -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var# 

Linux에서 현재 시간을 변경할 수 있습니까?


1
구글의 빠른 검색이 링크를 반환합니다> cyberciti.biz/faq/howto-set-date-time-from-linux-command-prompt

답변:


89

일반적으로 시간 ntpd을 자동으로 설정하고 싶은 경우 자동으로 시간을 설정하도록 설정해야 합니다.

구체적인 내용은 배포마다 약간 씩 다르지만 Ubuntu를 실행중인 경우 Ubuntu에서 NTP를 설정하는 방법 에 대한 가이드가 있습니다. 그렇지 않으면 Google 만 ntpd <distribution-name>있으면 찾을 수 있습니다.

그러나 수동으로 설정하려면을 사용할 수 있습니다 date --set="<date string>". 이에 대한 예는 다음과 같습니다.

date --set="23 June 1988 10:00:00"
date --set="10:00:00"

37

하드웨어 시계를 현재 시스템 시간으로 설정하십시오.

# hwclock --systohc

하드웨어 시계에서 시스템 시간을 설정하십시오.

# hwclock --hctosys

23

그냥 ntpdate ntp.ubuntu.com모든 것이 잘 될 것입니다.

우분투 공식 문서 에 대한 자세한 내용이 있습니다


18
답변에 대해 자세히 설명하고 QA 및 향후 독자에게 귀하가 언급 한 명령의 역할과 권장 조치에 대한 설명을 제공하십시오. 참고 : 품질 관리팀은 동기화 된 시간을 유지하는 방법이 아니라 시간을 변경하는 방법을 물었습니다.
Lorenzo Von Matterhorn

1
@LorenzoVonMatterhorn ok
Gangsar Swapurba

아직 설명이 없습니다. 이 명령을 실행하면 어떻게됩니까?
jerclarke


1
정확한 시간을 설정하는 데 효과적이었습니다.
Sabrina Gelbart

13

또 다른 일반적인 매우 성가신 문제는 잘못된 시간대를 선택했을 때입니다.

날짜 출력으로 시간대를 확인하십시오.

$ 날짜

금 8 월 23 일 18:47:04 UTC 2013

시간대 유형을 정정하려면 다음을 수행하십시오.

$ sudo tzselect

해당 숫자로 올바른 지역을 선택하십시오.

두 번째 작업은 올바른 시간을 설정하는 것입니다.

$ sudo 날짜 --set = "18:37:00"

또는 단순히 HW-Clock에서 시간을 내십시오 :

$ sudo hwclock --hctosys


3

에서 CentOS시간대가에 위치 /usr/share/zoneinfo/하는에 시스템 날짜 변경 특정 시간대 당신이 할 수있는을 :

먼저 기존 현지 시간 파일을 백업하십시오.

sudo mv /etc/localtime /etc/localtime.bak

다음으로 링크를 작성하십시오.

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon  /etc/localtime

을 입력하여 새 시스템 날짜를 확인하십시오 date.

Linux 시스템 날짜를 수동으로 조정하려면 다음을 입력하십시오.

date -s "11 MAR 2006 11:11:11"

또는

date --set="11 MAR 2015 11:11:11"

또는

date +%Y%m%d -s "20150311"

하드웨어 시계 를 현재 시스템 시간으로 설정하려면 :

hwclock --systohc

또는

hwclock -w

1

"hwclock"은 하드웨어 (머신) 날짜이며 "date"는 소프트웨어 (운영 체제) 날짜입니다.

PC 하드웨어 날짜 변경 :

hwclock --set --date="2013-7-31 09:30"

소프트웨어 날짜 변경 :

date --set "2013-7-31 09:30"

1

이 시도:

date +%T -s "12:21:00"

또는

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"

0

dateCPU가 시작된 순간부터 주어진 시간으로 주어진 시간을 더한 시간을 반환합니다 hwclock.

CPU 기반 시간은 머신이 오래 작동하는 동안 표류하는 경향이 있으므로 hwclock --hctosys명령 이 존재하는 이유 입니다. 또한 인터넷에서 국제적으로 시간을 조정하는 데 사용되는 네트워크 프로토콜 시간을 사용하는 이유 중 하나입니다.


0

NTP 클라이언트가 아닌 경우 이것을 사용하십시오

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

URL에서 eest 는 현지 시간대입니다

utc ... 등을 사용할 수 있습니다


그러나 이것은 나를 위해 일합니다 : askubuntu.com/a/683136
user956584

0

Linux에서 현재 시간을 변경할 수 있습니까?

나 에게이 명령을 먼저 실행해야했습니다.

sudo systemctl stop systemd-timesyncd

그렇지 않으면 systemd는 시간을 즉시 재설정합니다. 시스템 서비스를 중지 한 후 실행 date이 예상대로 작동합니다.

$ sudo date -s 'january 1 1971'
Fri Jan  1 00:00:00 CET 1971
$ date
Fri Jan  1 00:00:00 CET 1971

서비스가 실행되는 동안 date -s명령이 작동하는 것처럼 보였지만 date잠시 후에 실행 하면 시스템 시간이 다시 나타납니다.

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