Linux 시스템 시간 변경하기

리눅스 시스템의 시간은 시스템 운영, 로그 관리, 네트워크 통신 등 다양한 부분에 영향을 미치므로 정확하게 맞추는 것이 중요하다. 이 글에서는 리눅스에서 시스템 시간과 타임존을 확인하고 변경하는 방법을 정리한다.

1. 시스템 시간과 타임존 확인

date 명령어로 현재 시스템 시간을 확인한다.

1
date

timedatectl 명령어를 사용하면 현재 시간, 타임존, NTP 동기화 상태를 한 번에 확인할 수 있다.

1
timedatectl

2. 타임존(Timezone) 변경

시스템의 타임존을 변경하면 시간 표시와 로그 기록 등에 영향을 준다.

사용 가능한 타임존 목록은 다음과 같이 확인한다.

1
timedatectl list-timezones

타임존을 변경하려면 다음 명령어를 사용한다.

1
sudo timedatectl set-timezone Asia/Seoul
  • 예: Asia/Seoul, America/New_York 등 원하는 타임존으로 변경

구형 시스템에서는 /etc/localtime 파일을 심볼릭 링크로 교체하는 방식도 있다.

1
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

타임존 변경 후에는 date 명령어로 적용 결과를 확인한다.

참고: 타임존 변경은 시스템 전체에 영향을 주므로, 서버 운영 시 서비스 시간에 주의해야 한다.

3. date 명령어로 시간 수동 변경

date 명령어로 시스템의 현재 시간을 직접 설정할 수 있다. (root 권한 필요)

사용법:

1
sudo date MMDDhhm[[CC]YY][.ss]
  • MM: 월(01~12)
  • DD: 일(01~31)
  • hh: 시(00~23)
  • mm: 분(00~59)
  • CC: 세기(예: 20)
  • YY: 연도(예: 25)
  • ss: 초(00~59)

예시:

1
sudo date 070221302025.00
  • 2025년 7월 2일 21시 30분 0초로 시간 설정

주요 옵션:

  • -s 또는 --set: 문자열로 시간 지정
    1
    sudo date -s "2025-07-02 21:30:00"
  • -u: UTC(협정 세계시)로 시간 표시/설정

4. 하드웨어 시계와 동기화 (hwclock)

시스템 시간이 변경되면 하드웨어 시계(Real Time Clock, RTC)도 동기화하는 것이 좋다.

왜 동기화가 필요할까?

  • 리눅스 시스템은 부팅 시 하드웨어 시계(RTC)에서 시간을 읽어와 시스템 시간을 설정한다. 시스템 시간만 변경하고 하드웨어 시계와 동기화하지 않으면, 재부팅 시 시간이 다시 틀어질 수 있다.
  • 하드웨어 시계와 시스템 시간이 일치해야 로그 기록, 예약 작업(cron), 파일 타임스탬프 등이 정확하게 관리된다.
  • NTP 등으로 시스템 시간을 맞춘 후에는 반드시 하드웨어 시계도 동기화해야 일관된 시간 유지가 가능하다.
1
sudo hwclock --systohc
  • --systohc: 시스템 시간을 하드웨어 시계에 저장
  • --hctosys: 하드웨어 시계를 시스템 시간에 반영

5. 네트워크 시간 동기화(NTP)

정확한 시간 유지를 위해 NTP(Network Time Protocol) 서버와 동기화한다.

ntpd 서비스 사용

ntpd가 설치되어 있지 않다면 다음과 같이 설치한다.

1
2
sudo apt install ntp   # Debian/Ubuntu
sudo yum install ntp # CentOS/RHEL

서비스를 시작하고 동기화 상태를 확인한다.

1
2
sudo systemctl start ntp
sudo ntpq -p # 동기화 상태 확인

ntpdate 명령어로 즉시 동기화

참고: ntpdate 명령어는 대부분의 리눅스 배포판에서 기본 설치되어 있지 않으므로, 사용 전 패키지를 설치해야 한다.

  • Ubuntu/Debian: sudo apt install ntpdate
  • CentOS/RHEL: sudo yum install ntpdate
1
sudo ntpdate time.bora.net
  • 원하는 NTP 서버 주소 지정 가능

NTP 서버 직접 설정하기

NTP 동기화에 사용할 서버 목록은 설정 파일을 직접 수정해서 지정할 수도 있다. 대표적으로 /etc/ntp.conf 파일을 열어 원하는 NTP 서버 주소를 추가하거나 변경할 수 있다.

1
sudo vi /etc/ntp.conf

설정 파일 내에서 아래와 같이 서버를 지정한다.

1
2
server time.bora.net iburst
server time.google.com iburst

파일을 저장한 뒤 ntpd 서비스를 재시작하면 변경된 서버로 동기화가 진행된다.

1
sudo systemctl restart ntp

참고: 배포판에 따라 설정 파일 경로나 서비스 명칭이 다를 수 있으니, 각 환경에 맞게 확인이 필요하다.

6. 주의사항

  • 시스템 시간 변경은 root 권한이 필요하다.
  • 시간 변경 후 서비스 재시작이 필요한 경우가 있다.
  • NTP 동기화가 활성화되어 있으면 수동 변경한 시간이 다시 덮어써질 수 있다.

이와 같이 다양한 방법으로 리눅스 시스템의 시간과 타임존을 확인하고 변경할 수 있다. 상황에 맞는 방법을 선택해 적용하자.

공유하기