커맨드 라인을 통해 우분투의 서버 날짜 및 시간을 변경하는 방법은 무엇입니까?


38

우분투 서버의 현재 날짜와 시간은 시간대 날짜와 시간과 다릅니다. 나는 다음을 사용하려고 시도했다.

sudo date "30 Sep 2015 4:43:42"

변경했지만 날짜와 시간은 변경되지 않았습니다. 터미널에 변경된 날짜와 시간이 인쇄되었지만 실행했을 때 :

sudo hwclock --show

날짜와 시간은 여전히 ​​오래된 것입니다.

Ubuntu Server의 날짜 및 시간을 변경하는 올바른 방법은 무엇입니까?


"sudo date newdate"- "newdate"라는 단어를 실제로 입력 했습니까?
볼프강

1
아니. 내 질문을 편집했습니다. "2015 년 9 월 30 일 4:43:42"
Priska Aprilia

답변:


66

이 명령으로 시스템 날짜 를 설정할 수 있습니다 .

sudo date --set="2015-09-30 10:05:59.990"

그런 다음을 사용할 때 date올바르게 표시되어야합니다.

이제 시스템 BIOS에서 하드웨어 시계 를 설정해야 합니다. 시스템을 시작하는 동안 시스템 시간이 하드웨어 시계 값으로 설정되어 재부팅 동안 설정이 유지됩니다. 다음과 hwclock같이하십시오.

sudo hwclock --systohc

시스템 클럭 (sys) 값을 가져와 하드웨어 클럭 (hc)을 설정합니다. hwclock명령으로 확인하십시오 . 모두 hwclockdate지금 같은 날짜와 시간을 표시해야합니다.


시간대 를 설정하려면 다음 명령을 사용하십시오.

sudo dpkg-reconfigure tzdata

BTW :이 컴퓨터를 서버로 사용하는 경우 NTP-Client를 사용하여 네트워크를 통해 시간동기화하는 것이 좋습니다 . 따라서 모든 서버의 시간이 정확히 동일하도록 보장 할 수 있습니다. 컴퓨터가 작동하는 동안 시간이 동기화됩니다. 서버를 통한 동기화 시간에 의존하는 응용 프로그램이있는 경우 NTP-Daemon을 권장합니다. 백그라운드에서 오래 실행 될수록 시간이 더 정확합니다.


1
시계 동기화 단계를 놓쳤습니다. 답변 주셔서 감사합니다. 도움이되었습니다.
Priska Aprilia

1
3 옵션은 변경하는 데 도움이 등 / 시간대를 같은) = php.net/manual/en/timezones.php ! 절대적으로 동일!
Vladimir Ch

@VladimirCh Fortunatelly 표준 시간대 이름은 정체되어 있으므로 시스템간에 조정할 필요가 없습니다. 아 잠깐만 .. 마이크로 소프트 버전도있다.
PeterM

1
변경하려고하지만 변경되지 않습니다 :-$ sudo date --set = "2015-09-30 10 : 05 : 59.990"수 9 월 30 일 10:05:59 +0530 2015 $ 날짜 Thu May 23 15:10:37 +0530 2019
Vinod

6
  1. 시간대 검색
timedatectl list-timezones
  1. 시간대 설정
sudo timedatectl set-timezone America/Toronto
  1. 사용 timesyncd
sudo timedatectl set-ntp on

이를 통해 시간을 설정하고 동기화해야합니다.

이 튜토리얼에서 더 많은 것을 볼 수 있습니다 : https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-18-04


1
수동으로 설정 한 시간과 분없이 문제를 해결하는 가장 좋은 방법! 고마워요!
라파엘 모니

4

시스템 시간 설정을 수동으로 싫어합니다. 따라서이 문제를 해결하려면 두 가지 답변을 결합해야했습니다.
시스템 시간을 수정하려면이 코드를 사용해야합니다.

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

대답에 주어진
다음을 사용하여 하드웨어 시계를 시스템 시계와 동기화하십시오.

sudo hwclock --systohc

이 스레드에서 @chaos가 제공합니다.


1

그냥 입력

sudo date newdatestring

newdatestring 형식 nnddhhmmyyyy.ss에

  • nn : (2 자리) 월 (01 ~ 12)
  • dd : 적용되는 월 및 연도에 따른 일의 규칙이있는 (2 자리) 일 (01-31)
  • hh : (2 자리) 시간 (00 ~ 23)
  • mm : (2 자리) 분 (00-59)
  • yyyy : 연도; 두 자리 또는 네 자리 수
  • ss는 두 자리 초 (00-59)입니다. 마침표 '.' ss 전에.

그러나 date 명령 옆에 NTP "솔루션"(네트워크 시간 프로토콜) : Serverguide-NTP 를 선호 할 수 있으며, 날짜를 직접 설정하는 것보다 훨씬 다루기 쉽고 정확합니다. cronjob 또는 ntp 데몬 (ntpd)을 사용하여 x 시간 / 분마다 시간을 업데이트 할 수 있습니다.

이것이 도움이되기를 바랍니다!


잘못된 날짜 범위 내가 30 년 9 월 2015 년 5시 8분 15초 서 "093005082015.15"을 시도 할 때
스카 아프릴리아

sudo date "093005082015.15" 내 작업.
vusan

0

시대 초 버전을 찾는 사람들을 위해

  1. 현재 날짜 및 시간 설정

    sudo date -s @1565864862
  2. 현재 날짜 및 시간 가져 오기

    date +%s
    

    출력 1565864862

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