리눅스 시간 확인 명령어 date 사용 방법
- 운영체제(OS)
- 2023. 2. 3.
리눅스에서 시스템 시간을 확인하려면 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 서버를 통해 주기적으로 동기화하지 않은 시스템 시간은 시간이 지나며 틀어지곤 합니다.
- 애플리케이션이 자체 타임스탬프를 사용 : 애플리케이션이 자체 타임스탬프를 사용할 수 있습니다. 시스템 시간이 아닌 자체 타임스탬프를 사용하는 방식으로 코딩된 경우입니다.
시스템 시간과 애플리케이션의 시간을 일치시키려면 어느 쪽 시간이 잘못됐는지를 확인하고 둘 중 하나를 나머지와 시간대와 일치시켜야 합니다.
'운영체제(OS)' 카테고리의 다른 글
윈도우 DebugView 사용하는 방법 (앱 디버깅) (0) | 2023.02.04 |
---|---|
윈도우 서비스 강제 종료 taskkill 명령어 사용법 (0) | 2023.02.03 |
CentOS 불필요한 계정 확인과 제거 (lp, uucp, nuucp) (0) | 2023.02.03 |
SFTP 파일 전송 실패(permisson denied) 해결 방법 (0) | 2023.01.17 |
리눅스 상대경로 절대경로 차이 예시 (0) | 2023.01.15 |