[Linux] 우분투 시간 (Date / Timezone) 동기화하기

서버 세팅 시 중요한 부분 중 하나가 서버 시간을 동기화시켜주는 것인데요. 우분투에서 서버 시간을 동기화하는 방법을 포스팅하겠습니다.

현재 시간 확인하기

서버 시간 및 타임존 설정하기

필요한 패키지들을 설치합니다.

sudo apt install rdate # 서버 시간을 맞추기 위한 패키지
sudo apt install tzdata # 타임존(로케일)을 맞추기 위한 패키지

패키지 설치 후 먼저 서버 시간을 동기화합니다.

$ rdate -s time.bora.net

타임존이 맞지 않아서 원하는 시간대가 아닐 경우 타임존을 설정해주셔야 합니다.

$ tzselect

위 명령을 이용하여 원하는 타임존 설정을 진행합니다.

위 작업 이후에도 타임존이 변경되지 않는 경우

TZ='Asia/Seoul'; export TZ

를 입력하여 로케일을 변경합니다. 부팅 시 항상 실행되게 하려면 .profile 에 위 명령을 추가해주세요.

crontab을 이용하여 시간을 주기적으로 맞춰주기

매일 새벽 4시에 rdate 명령을 이용하여 시간을 주기적으로 동기화해줍시다.

$ vi /etc/cron.daily/time-sync.cron

아래의 내용을 입력한 뒤 저장합니다.

#!/bin/bash
/usr/bin/rdate -s time.bora.net

파일에 실행 권한을 줍니다.

$ sudo chmod 755 /etc/cron.daily/time-sync.cron

이제 매일 새벽 4시에 시간이 동기화됩니다.

rsyslog 에도 시간 적용하기

서버시간을 동기화한 후에도 rsyslog를 통해 찍히는 로그에는 시간과 타임존이 여전히 변경 전의 것이 찍힐 수 있습니다.

이 경우는 다음 명령을 실행합니다.

$ sudo dpkg-reconfigure tzdata
$ sudo service rsyslog restart

위 명령 실행 이후에는 변경된 시간으로 로그가 찍힌 것을 보실 수 있습니다.

 

레퍼런스:

https://extrememanual.net/11094

https://askubuntu.com/questions/744690/date-and-time-for-log-files-different-to-date-timezone-etc

https://jhrun.tistory.com/158

댓글

Designed by JB FACTORY