IT

centos 7 timezone UTC 변경하기

영철맨 2021. 5. 28. 15:55

CentOS 7 서버를 운영하다 보면 로그 수집, 여러 국가 서비스 운영, 컨테이너 환경 통일 때문에 서버 시간대를 KST가 아니라 UTC로 맞춰야 할 때가 많습니다. 이 글에서는 현재 시간대를 확인하는 방법부터 UTC로 바꾸는 명령어, 변경 뒤 점검 포인트까지 초보자도 따라가기 쉽게 정리합니다.

왜 UTC로 바꾸는가

  • 여러 서버의 로그 시간을 하나의 기준으로 맞추기 쉽습니다.
  • 클라우드, Docker, CI/CD 환경에서 기본 기준 시간을 UTC로 두는 경우가 많습니다.
  • 한국 시간 기준으로 운영하더라도 애플리케이션에서 별도로 표시 시간대를 처리하는 편이 관리에 유리할 때가 있습니다.

1. 현재 시간대 확인

먼저 서버에 설정된 현재 시간대를 확인합니다.

timedatectl

예를 들어 아래처럼 Time zone: Asia/Seoul (KST, +0900) 으로 보이면 현재는 한국 시간 기준입니다.

Local time: Fri 2021-05-28 15:39:55 KST
Universal time: Fri 2021-05-28 06:39:55 UTC
RTC time: Fri 2021-05-28 06:40:10
Time zone: Asia/Seoul (KST, +0900)

2. 필요하면 먼저 시간 동기화

시간대 변경은 시계 자체를 맞추는 작업과는 다릅니다. 서버 시간이 이미 많이 틀어져 있다면 먼저 동기화를 해두는 편이 좋습니다.

예전에는 rdate 를 써서 한 번 맞추는 경우가 많았습니다.

yum install rdate -y
rdate -s time.bora.net

다만 운영 서버라면 일회성 rdate 보다는 chronyd 같은 NTP 동기화 서비스를 함께 점검하는 편이 더 안정적입니다.

3. 시간대를 UTC로 변경

이제 아래 명령어로 시간대를 UTC로 바꿉니다.

sudo timedatectl set-timezone UTC

root 계정이라면 sudo 없이 실행해도 됩니다.

4. 변경 결과 다시 확인

명령어 실행 후 다시 상태를 확인합니다.

timedatectl

정상적으로 바뀌었다면 아래처럼 Time zone: UTC (UTC, +0000) 으로 표시됩니다.

Local time: Fri 2021-05-28 06:40:31 UTC
Universal time: Fri 2021-05-28 06:40:31 UTC
RTC time: Fri 2021-05-28 06:40:46
Time zone: UTC (UTC, +0000)

추가로 현재 시간이 어떻게 보이는지 바로 확인하고 싶다면 아래 명령어도 함께 봅니다.

date

자주 헷갈리는 점

  • 시간대 변경과 시간 동기화는 다릅니다. 시간대를 UTC로 바꿔도 서버 시간이 틀려 있으면 여전히 문제가 생깁니다.
  • 애플리케이션 표시 시간도 함께 확인해야 합니다. DB, PHP, Java, Node.js, Docker 컨테이너는 별도 설정을 쓰는 경우가 있습니다.
  • 로그 수집 시스템과의 기준 시간도 맞춰야 합니다. 서버는 UTC인데 대시보드가 KST 기준이면 처음 보면 시간이 어긋난 것처럼 느껴질 수 있습니다.

마무리

CentOS 7에서 시간대를 UTC로 바꾸는 핵심은 timedatectl set-timezone UTC 한 줄입니다. 다만 실제 운영 환경에서는 변경 전 현재 시간대 확인, 시간 동기화 상태 점검, 변경 후 애플리케이션과 로그 시간 검증까지 같이 보는 것이 안전합니다. 한 번 바꾼 뒤에는 timedatectldate 결과를 꼭 다시 확인해 두세요.

반응형