Develop

리눅스 서버 시간 확인하는 다양한 방법

issuemaker99 2025. 2. 14. 11:30
728x90

리눅스 서버를 운영하다 보면 현재 서버 시간이 정확한지 확인해야 할 때가 많습니다. 시스템 로그를 분석하거나 크론 작업을 설정할 때, 또는 서버 간의 시간 동기화를 점검할 때 서버 시간 확인은 필수적인 작업입니다. 이번 글에서는 리눅스에서 서버 시간을 확인하는 다양한 방법을 예제와 함께 소개하겠습니다.


1. date 명령어 사용

리눅스에서 가장 기본적으로 서버 시간을 확인하는 방법은 date 명령어를 사용하는 것입니다.

date

 

출력 예시:

Thu Feb 14 10:30:45 KST 2025

 

위와 같이 현재 시스템의 날짜와 시간이 출력됩니다.

1-1. 원하는 형식으로 출력하기

date 명령어는 다양한 형식으로 날짜와 시간을 출력할 수 있습니다.

date "+%Y-%m-%d %H:%M:%S"

 

출력 예시:

2025-02-14 10:30:45

 

여기서 사용한 형식 지정자는 다음과 같습니다.

  • %Y : 연도(4자리)
  • %m : 월(2자리)
  • %d : 일(2자리)
  • %H : 시간(24시간제)
  • %M : 분
  • %S : 초

2. timedatectl 명령어 사용 (systemd 기반 시스템)

timedatectl은 systemd를 사용하는 리눅스 배포판(Ubuntu, CentOS 7 이상 등)에서 시간 관련 설정을 확인하고 변경할 수 있는 명령어입니다.

timedatectl

 

출력 예시:

               Local time: Thu 2025-02-14 10:30:45 KST
           Universal time: Thu 2025-02-14 01:30:45 UTC
                 RTC time: Thu 2025-02-14 01:30:45
                Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
              NTP service: active

 

이 명령어를 통해 다음 정보를 확인할 수 있습니다.

  • Local time : 현재 시스템의 로컬 시간
  • Universal time (UTC) : 국제 표준 시간
  • RTC time : 하드웨어(Real-Time Clock, RTC) 시간
  • Time zone : 시스템에서 설정된 시간대
  • System clock synchronized : NTP(Network Time Protocol) 동기화 여부

NTP가 활성화되지 않았다면 다음 명령어로 활성화할 수 있습니다.

sudo timedatectl set-ntp on

 


3. hwclock 명령어 사용 (BIOS/하드웨어 시간 확인)

서버의 하드웨어(Real-Time Clock, RTC) 시간을 확인하려면 hwclock 명령어를 사용합니다.

hwclock

 

출력 예시:

2025-02-14 10:30:45.123456+0900

만약 하드웨어 시간이 현재 시스템 시간과 다르다면 다음 명령어로 동기화할 수 있습니다.

sudo hwclock --systohc

 

이 명령어는 현재 시스템 시간을 하드웨어 시간(RTC)으로 설정합니다.


4. ls -l --time-style=full-iso 명령어로 파일 타임스탬프 확인

파일의 시간 정보도 서버 시간과 비교하는 방법 중 하나입니다.

ls -l --time-style=full-iso /etc/passwd

 

출력 예시:

-rw-r--r-- 1 root root 2485 2025-02-10 12:45:32.000000000 +0900 /etc/passwd

 

이 명령어를 사용하면 파일이 마지막으로 수정된 정확한 시간을 확인할 수 있습니다.


5. /proc/driver/rtc 파일 확인

리눅스에서는 /proc/driver/rtc 파일을 통해 하드웨어(Real-Time Clock) 시간을 직접 확인할 수도 있습니다.

cat /proc/driver/rtc

 

출력 예시:

rtc_time    : 01:30:45
rtc_date    : 2025-02-14
alrm_time   : 00:00:00
alrm_date   : 2025-02-15
alarm_IRQ   : no

 

여기서 rtc_time이 하드웨어(바이오스) 시간이므로, date 명령어 출력과 비교하여 차이가 있는지 확인할 수 있습니다.


6. ntpq 또는 chronyc 명령어로 NTP 동기화 상태 확인

서버가 인터넷을 통해 정확한 시간을 유지하고 있는지 확인하려면 NTP 동기화 상태를 점검해야 합니다.

6-1. ntpq 명령어 사용 (NTP 사용 시)

ntpq -p

 

출력 예시:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*time.google.com 216.239.35.0    2 u   25   64  377    2.574   -0.023   0.102

 

  • * 표시가 있는 서버가 현재 동기화된 NTP 서버입니다.
  • offset 값이 0에 가까울수록 정확한 시간이 유지되고 있습니다.

6-2. chronyc 명령어 사용 (Chrony 사용 시)

Chrony는 최신 리눅스 배포판에서 사용되는 NTP 클라이언트입니다.

chronyc tracking

 

출력 예시:

Reference ID    : 216.239.35.0 (time.google.com)
Stratum         : 2
System time     : 0.000045678 seconds slow of NTP time

 


리눅스 서버에서 시간 확인은 매우 중요한 작업이며, 다양한 방법을 사용할 수 있습니다.

  • date : 기본적인 시스템 시간 확인
  • timedatectl : 시스템 시간 및 NTP 동기화 상태 확인
  • hwclock : 하드웨어(바이오스) 시간 확인
  • ls -l --time-style=full-iso : 파일 수정 시간 확인
  • /proc/driver/rtc : 하드웨어 시간 정보 확인
  • ntpq -p 또는 chronyc tracking : NTP 동기화 상태 점검
LIST