Translate

2024/04/08

Synchronizing a Linux System Clock

리눅스 시스템 시간 맞추기

리눅스의 경우 CMOS(하드웨어 시간)는 세계 협정시(UTC)에 맞추고, 운영체제 상에서 timezone을 설정하여 지역시를 사용하는 것이 일반적이다. timezone 변경 방법과 스크립트를 사용하여 시간 동기화하는 방법에 대해 알아보자.



설치

# For Ubuntu and other Debian-based distributions
sudo apt-get install ntpdate rdate

# For CentOS and other RPM-based distributions
sudo yum install ntpdate rdate


timezone 변경

'서울'로 지역시를 맞춘다. 다른 지역으로 맞추려면 /usr/share/zoneinfo에서 해당 지역을 찾아서 링크로 연결시키면 된다.

$ sudo rm -f /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
$ hwclock -w
$ date


시간동기화

가장 간단한 방법으로 아래 예시는 크론탭을 사용하여 매시 2분에 NTP 서버("172.20.181.101")와 통신을 통해 시간을 동기화하고, 그 기록을 /var/log/timesync.log에 남기는 내용이다.

### TIME SYNC
2 * * * *       /usr/sbin/ntpdate -u 172.20.181.101 > /var/log/timesync.log 2>&1 && /sbin/clock -w

또 다른 예시

#!/bin/bash
/usr/bin/rdate -s time.bora.net && /sbin/hwclock -w     #(timeserver와 동기화하고 하드웨어 시간을 시스템 시간으로 설정)

ntp 데몬을 사용하면 여러 ntp 서버를 설정할 수 있고, 다양한 옵션을 설정할 수 있다.



알아두기

$ hwclock --show

시 계속 KST로 나온다. 하지만 바이오스에서는 UTC로 설정이 되어있다.
하드웨어 클럭을 협정 세계시에 맞춰두고 있어도 항상 로컬 시간이 표시됩니다.



결론

시간동기화 서버를 사용하여 시스템 시각과 지역시를 맞추는 방법에 대해 살펴보았다. clock과 hwclock 명령어로 하드웨어(바이오스) 시각을 세계시로 맞추면 리눅스 시스템 상에서 지역시를 보여주는 방식으로 동작한다.



참고

http://wanderer.pe.kr/tc/82
http://bahndal.egloos.com/462272
http://docs.slackware.com/howtos:hardware:syncing_hardware_clock_and_system_local_time
http://gyuha.tistory.com/196
공용 NTP 서버 목록

댓글 없음:

댓글 쓰기

Template by Aliya H.