리눅스 시간 확인 명령어 date 사용 방법

리눅스에서 시스템 시간을 확인하려면 date 명령어를 사용합니다. 이를 통해 출력된 결과를 타임스탬프라고 부릅니다. 타임스탬프는 애플리케이션 운영 관점에서 중요합니다. date 명령어의 몇 가지 옵션과 시스템 시간과 애플리케이션의 로그 시간에 차이가 생기는 이유에 대해 알아보겠습니다.

date 명령어

date의 기본적인 활용법은 옵션 없이 date을 입력해서 타임스탬프를 출력하는 것입니다.

[root@localhost ~]# date
Thu Feb  2 07:05:48 PST 2023

위 출력에 대한 의미는 다음과 같습니다.

  • Thu : 목요일
  • Feb : 2월
  • 2 : 날짜(일)
  • 07:05:48 : 7시 5분 48초
  • PST : 시간대 (Pacific Standard Time)

타임스탬프를 다른 형식으로 표시

날짜를 다른 형식으로 표시하려면 +옵션 다음에 형식 문자열을 사용하면 됩니다. 예를 들어, YYYY-MM-DD 형식으로 날씨를 표시하는 경우 아래와 같이 입력합니다.

[root@localhost ~]# date +%Y-%m-%d
2023-02-02

 

옵션에 대한 사용 설명은 아래와 같습니다. 그런데 단순히 타임스탬프를 확인하기 위해서라면 옵션 없이 date로 출력되는 정보도 충분하기 때문에 활용도가 그리 높아 보이지는 않습니다.

  • %Y : 연도를 세기와 함께 십진수로 표시합니다.
  • %m : 월을 10진수로 표시합니다.
  • %d : 일자를 10진수로 표시합니다.
  • %H : 24시간제 시간을 10진수로 표시합니다.
  • %M : 분을 10진수로 표시합니다.
  • %S : 초를 10진수로 표시합니다.

시스템 시간을 직접 설정

-s 옵션을 사용하면 사용자가 시스템의 시간을 직접 지정할 수 있습니다. 2022년 1월 1일 00시로 시스템 시간을 변경해 보겠습니다.

 

※ 주의 : 이 명령어는 서비스가 이루어지고 있는 서버에서는 하시면 안 됩니다. 애플리케이션 작동에 문제가 생길 수 있습니다.

[root@localhost ~]# date
Thu Feb  2 14:39:04 PST 2023
[root@localhost ~]# date -s "2022-01-01"
Sat Jan  1 00:00:00 PST 2022

시스템 시간을 서버로부터 받아와 세팅

시간을 다시 지정하려면 외부 NTP 서버 시간을 받아오면 됩니다. 네트워크를 통해 시간을 받아오는 rdate 명령어를 사용합니다. time.bora.net에서 시간을 받아오겠습니다.

[root@localhost ~]# rdate -s time.bora.net
[root@localhost ~]# date
Thu Feb  2 14:44:13 PST 2023

로그 기록 시간과 시스템 시간이 다른 이유

서비스되고 있는 애플리케이션이 기록하는 로그 시간과 시스템 시간이 일치하지 않는 경우가 있습니다. 이는 장애 발생이나 기타 이유로 로그 분석을 할 때 좋지 못한 환경입니다. 로그 시간이 일치하지 않는 이유는 일반적으로 몇 가지 있습니다.

  • 시간대 차이 : 애플리케이션과 시스템이 서로 다른 시간대를 사용하고 있는 경우입니다. 예를 들어, 시스템은 PST로 설정되어 있는데 애플리케이션은 UTC로 설정된 경우입니다.
  • NTP 서버 차이 : 시스템은 NTP로 시간을 동기화하는데 애플리케이션은 NTP를 사용하지 않거나 다른 NTP 서버를 사용하는 경우입니다.
  • 시스템 시간이 잘못된 경우 : 시스템 시간이 잘못 설정된 경우 차이가 생길 수 있습니다.
  • 시간이 지나며 시스템 시간에 오차가 발생 : NTP 서버를 통해 주기적으로 동기화하지 않은 시스템 시간은 시간이 지나며 틀어지곤 합니다.
  • 애플리케이션이 자체 타임스탬프를 사용 : 애플리케이션이 자체 타임스탬프를 사용할 수 있습니다. 시스템 시간이 아닌 자체 타임스탬프를 사용하는 방식으로 코딩된 경우입니다.

 

시스템 시간과 애플리케이션의 시간을 일치시키려면 어느 쪽 시간이 잘못됐는지를 확인하고 둘 중 하나를 나머지와 시간대와 일치시켜야 합니다.

반응형

댓글

Designed by JB FACTORY