Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

리눅스 시스템 시간대 확인 및 관리 방법 총정리

리눅스 시스템 시간대(Timezone) 확인 및 관리 방법

이 글에서는 리눅스 입문자를 위해 시스템 시간대를 확인하는 다양한 간단한 방법을 소개합니다. 특히 운영 서버(production server)에서 리눅스 머신의 시간 관리는 시스템 관리에서 항상 중요하게 다뤄지는 요소입니다.

리눅스에는 date, timedatectl 같은 여러 시간 관리 유틸리티가 제공됩니다. 이를 활용하면 현재 시스템의 시간대를 조회할 수 있고, 원격 NTP 서버와 동기화하여 더욱 정확한 자동 시간 관리도 가능합니다.

그럼 지금부터 리눅스 시스템의 시간대를 확인하는 여러 가지 방법을 하나씩 살펴보겠습니다.

1. date 명령어로 시간대 확인하기

가장 전통적인 방법인 date 명령어로 현재 시간대를 확인할 수 있습니다.

$ date

아래처럼 포맷 옵션을 사용할 수도 있습니다. %Z는 알파벳 형태의 시간대를, %z는 숫자 형태의 시간대를 출력합니다.

$ date +"%Z %z"
리눅스 시스템 시간대 확인 및 관리 방법 총정리

참고: date 매뉴얼 페이지에는 출력 형식을 바꿀 수 있는 다양한 포맷 옵션이 있으니 아래 명령으로 확인해 보세요.

$ man date

2. timedatectl 명령어로 시간대 확인하기

timedatectl 명령어를 옵션 없이 실행하면 시간대를 포함한 시스템 정보 전체가 표시됩니다.

$ timedatectl

파이프라인과 grep 명령어를 조합하면 시간대 정보만 깔끔하게 필터링할 수 있습니다.

$ timedatectl | grep "Time zone"
리눅스 시스템 시간대 확인 및 관리 방법 총정리

timedatectl 명령어를 활용해 리눅스에서 시간대를 설정하는 방법도 함께 익혀두면 좋습니다.

3. /etc/timezone 파일로 시간대 확인하기

데비안(Debian) 및 그 파생 배포판 사용자라면 cat 유틸리티로 /etc/timezone 파일 내용을 출력해 시간대를 확인할 수 있습니다.

$ cat /etc/timezone
리눅스 시스템 시간대 확인 및 관리 방법 총정리

중요: RHEL/CentOS 7Fedora 22~25 사용자의 경우, /etc/localtime 파일은 /usr/share/zoneinfo/ 디렉터리 아래의 시간대 파일을 가리키는 심볼릭 링크입니다.

리눅스에서 시간대 변경하기

현재 시간과 시간대를 표시하려면 앞서 소개한 date 또는 timedatectl 명령어를 사용하면 됩니다.

시간대를 변경하려면 /usr/share/zoneinfo/ 아래의 적절한 시간대 파일을 가리키도록 /etc/localtime 심볼릭 링크를 새로 생성하면 됩니다.

$ sudo ln -sf /usr/share/zoneinfo/zoneinfo /etc/localtime

여기서 -s 옵션은 심볼릭 링크를 생성하겠다는 의미입니다(생략하면 기본적으로 하드 링크가 생성됨). -f 옵션은 기존 대상 파일(이 경우 /etc/localtime)이 이미 존재하더라도 강제로 덮어쓰겠다는 뜻입니다.

예를 들어 시간대를 Africa/Nairobi로 변경하려면 아래 명령어를 입력합니다.

$ sudo ln -sf /usr/share/zoneinfo/Africa/Nairobi /etc/localtime

마무리

지금까지 리눅스에서 시간대를 확인하고 변경하는 기본적인 방법을 살펴보았습니다. 시스템 시간 관리에 대한 더 깊은 이해가 필요하다면, 실습 예제가 풍부한 리눅스 시간 관리 가이드를 참고하는 것도 좋습니다.

시간대 변경 후에는 반드시 datetimedatectl 명령어로 결과를 다시 확인하는 습관을 들이면, 운영 환경에서 발생할 수 있는 로그 타임스탬프 불일치 같은 문제를 예방할 수 있습니다.