Computer >> 컴퓨터 >  >> 체계 >> Linux

CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

이 기사에서는 시간, 날짜, 시간대를 설정하고 NTP 서버와 시간을 동기화하고 CentOS Linux의 일반적인 문제를 해결하는 방법을 보여줍니다.

서버에는 두 가지 유형의 시계가 있습니다. 하드웨어 서버가 꺼져 있고 운영 체제 소프트웨어에도 작동하는 하나(실시간 시계) 시계. 이 시계의 시간은 다를 수 있습니다. 운영 체제를 시작한 후 소프트웨어 시계는 하드웨어 시계를 기반으로 하며 OS에 의해 조정될 수 있습니다.
대부분의 애플리케이션은 작동 시 소프트웨어 시계 시간을 사용합니다.

Hwclock:하드웨어 시간 구성

Hwclock Linux에서 하드웨어 시간을 확인하는 데 사용됩니다.

  • hwclock --localtime — 수정 없이 하드웨어 시간 확인
  • hwclock --utc – 하드웨어 시계가 UTC 시간을 표시하는 경우 시간을 표시합니다.

# hwclock --localtime

2020-10-12 06:12:02.912866-04:00

# hwclock --utc

2020-10-12 02:12:18.915319-04:00

시스템 시간에 따라 하드웨어 시간을 설정하려면 다음 명령을 실행하십시오.
# hwclock --systohc
원하는 하드웨어 시간을 설정하려면 다음을 실행하십시오.
# hwclock --set --date "11 Oct 2020 17:30"

CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

CentOS에서 수동 시간 구성

Linux의 경우 날짜 또는 timedatectl 도구는 소프트웨어 시간을 확인하고 설정하는 데 사용됩니다. 날짜로 전화하면 매개변수가 없으면 서버의 현재 시간이 표시됩니다.

# date

Sun Oct 11 22:14:54 EDT 2020

수동으로 시간을 설정하려면 날짜를 사용할 수 있습니다. 추가 매개변수 사용:

# date MMDDhhmm

예:

# date 10261740

CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

날짜, 시간, 시간대, 동기화 설정, 일광 절약 시간 설정(DST), timedatectl에 대한 자세한 정보를 얻으려면 사용. 서버의 시간 설정에 대한 자세한 정보를 제공합니다.

CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

Timedatectl은 또한 시간을 변경할 수 있습니다.

# timedatectl set-time '2020-10-11 17:51:00'

CentOS에서 시간대를 설정하는 방법

CentOS Linux에서 시간대에 따라 시간을 설정하려면 수동으로 변경할 수 있습니다. 이를 위해 두 가지 도구를 사용할 수 있습니다.

  • timedatectl
  • tzdata

timedatectl을 사용하여 시간대를 변경하려면 , 다음 명령을 실행하십시오:

# timedatectl set-timezone Canada/Pacific
# date

CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

또는 tzdata를 사용할 수 있습니다. . 이 방법을 사용하려면 /etc/localtime 파일을 교체하세요. 당신이 필요로하는 사람과. 전체 시간대 목록은 /usr/share/zoneinfo/에 있습니다. 예배 규칙서. 시간대를 캐나다/태평양으로 변경해 보겠습니다. . 현재 위치 시간 파일 백업:

# mv /etc/localtime /etc/localtime.bak

설정하려는 시간대에 대한 심볼릭 링크를 만듭니다.
# ln -s /usr/share/zoneinfo/Canada/Pacific /etc/localtime

NTP 시간 서버와 시간을 동기화하도록 CentOS 구성

외부 NTP(Network Time Protocol) 서버를 사용하여 호스트에서 자동 시간 동기화를 구성할 수 있습니다. 그러려면 ntp 서비스를 설치해야 합니다. . 예를 들어 CentOS 7에서 yum을 사용하여 설치할 수 있습니다.

# yum install ntp -y

설치 후 ntpd 서비스를 시작하고 시작 프로그램에 추가합니다.

# systemctl start ntpd.service
# systemctl enable ntpd.service

서비스가 실행 중인지 확인하십시오.

# service ntpd status

Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-10-11 15:37:33 +06; 5min ago
Main PID: 3057 (ntpd)
CGroup: /system.slice/ntpd.service
└─3057 /usr/sbin/ntpd -u ntp:ntp -g

/etc/ntp.conf에서 시간을 동기화할 NTP 서버를 지정합니다. :

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

시간은 차례로 동기화됩니다. 첫 번째 NTP 서버를 사용할 수 없는 경우 두 번째 NTP 서버가 사용됩니다.

다음 명령을 사용하여 수동으로 지정된 NTP 서버와 시간을 동기화할 수 있습니다.

# ntpdate 192.168.1.23

기본적으로 ntpd "11분 모드"를 활성화합니다. 즉, 11분마다 시간이 동기화됩니다. ntpd를 사용할 수 없는 경우 데몬에서 cron을 사용하여 시간 동기화를 구성할 수 있습니다. cron에 다음 명령을 추가하십시오.

# ntpdate pool.ntp.org

Chronyd를 사용하여 CentOS 8에서 시간을 동기화하는 방법은 무엇입니까?

CentOS 8에서는 chrony를 사용해야 합니다. ntp와 ntpdate가 공식 저장소에서 제거되었기 때문에 시간을 동기화합니다.

chrony의 주요 이점은 다음과 같습니다.

  • 시간 동기화의 고속 및 정확성
  • 마스터 클록에 대한 액세스 권한이 없는 경우 올바른 작동(ntpd는 일반 요청 필요)
  • 기본적으로 동기화 직후에는 프로그램 실행에 문제가 발생하지 않도록 시간을 수정하지 않습니다.
  • 더 적은 리소스를 사용합니다.

기본적으로는 크로니 CentOS Linux에 이미 설치되어 있지만 어떤 이유로 설치되어 있지 않다면 설치하십시오:

# dnf install chrony

다른 서비스와 마찬가지로 설치 후 chrony를 시작하고 시작에 추가해야 합니다.

# systemctl start chronyd
# systemctl enable chronyd

chronyd 서비스 상태 확인:

# systemctl status chronyd

CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

시간 동기화가 작동하는지 확인하려면 다음 명령을 실행하십시오.

# timedatectl status

NTP Service: active

<강한> CentOS:날짜, 시간, 시간대 및 NTP 동기화를 설정하는 방법

Chrony 구성 파일은 /etc/chrony.conf입니다. . 동기화에 사용할 NTP 서버 목록을 지정합니다. ntp 좋아요 , chrony에는 chronyc 명령줄 인터페이스가 있습니다. . 현재 시간 동기화 옵션에 대한 정보를 보려면 다음 명령을 실행하십시오.

# chronyc tracking

동기화 서버에 대한 정보를 보려면:

# chronyc sources

특정 날짜와 시간을 수동으로 설정하려면 날짜를 사용할 수 있습니다. 하지만 이전에 chronyd 를 비활성화했습니다. 데몬.

CentOS의 일반적인 시간 동기화 문제

이 섹션에서는 timedatectl로 작업할 때 나타나는 일반적인 오류에 대해 설명합니다. , ntp .

수동 시간 동기화 중에 다음 오류가 발생할 수 있습니다.

# ntpdate pool.ntp.org

ntpdate [26214]: the NTP socket is in use, exiting

즉, ntpd 데몬이 실행 중이며 수동 시간 동기화를 방지하고 있습니다. 시간을 수동으로 동기화하려면 ntpd 데몬을 중지하십시오.

# service ntpd stop

그리고 동기화를 다시 실행하십시오.

timedatectl로 작업할 때도 동일한 오류가 발생할 수 있습니다.

Failed to set time: Automatic time synchronization is enabled.

timedatectl에서 자동 동기화를 비활성화해야 합니다.

# timedatectl set-ntp 0

그리고 다음 명령을 실행하여 원하는 시간과 날짜를 설정하십시오.

# timedatectl set-time '2020-11-12 17:41:00'

표준 시간대를 사용하여 작업할 때 표준 시간대가 서버에 설치되어 있지 않고 현지 시간에 대한 심볼릭 링크를 생성할 수 없는 경우가 발생할 수 있습니다. 호스트에서 시간대를 사용할 수 있도록 하려면 tzdata 도구를 설치하세요.

# yum install tzdata -y

또한 수동 동기화 중에 다음과 같은 몇 가지 오류가 발생할 수 있습니다.

11 Oct 21:11:19 ntpdate[897482]: sendto(xx.xx.xx.98): Operation not permitted

이 경우 방화벽/iptables 규칙을 확인하고 서버에서 UDP 포트 123이 열려 있는지 확인하세요. 또한 일부 NTP 호스트는 유효성 검사 중에 사용하지 못할 수 있습니다.