Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스에서 날짜와 시간 설정하는 방법: date 명령어부터 NTP 동기화까지

리눅스 시스템의 날짜와 시간을 정확하게 유지하는 것은 로그 기록, 예약 작업(cron), 인증서 유효성 검사 등 안정적인 시스템 운영에 필수적입니다. 이 가이드에서는 date 명령어를 사용해 날짜를 직접 설정하는 방법과, NTP 서버에 연결해 인터넷 시간과 자동으로 동기화하는 방법을 차례대로 소개합니다.

date 명령어로 현재 시간 확인하기

앞서 소개했던 리눅스의 'date' 명령어는 시스템의 날짜와 시간을 다양한 형식으로 출력할 수 있는 강력한 커맨드 라인 도구입니다. 그뿐만 아니라 시스템의 날짜와 시간을 직접 설정하는 기능도 제공합니다. 먼저 현재 시간을 확인하는 기본적인 사용법부터 살펴보겠습니다.

# date
Mon Dec 22 22:35:58 IST 2008

date 명령어로 날짜 변경하기

예를 들어, 시스템 날짜를 2008년 크리스마스 당일 오후 1시 45분으로 변경하고 싶다면 다음과 같이 입력합니다.

# date -s "25 DEC 2008 13:45:00"
Thu Dec 25 13:45:02 IST 2008

명령어 구조 이해하기

위 명령어는 직관적이지만, 구조를 하나씩 살펴보면 더 쉽게 이해할 수 있습니다. 먼저 'date' 명령어를 입력하고, 그 뒤에 날짜를 설정한다는 의미의 '-s'(set date) 옵션을 붙입니다. 이후 원하는 날짜를 '일 월 연도 시:분:초' 순서로 지정하면 됩니다. 명령어를 실행하면 시스템이 새로운 날짜를 즉시 반영해 표시해 줍니다. 설정이 올바르게 적용되었는지 확인하려면 'date' 명령어를 한 번 더 입력해 보세요.

참고로 날짜 설정은 시스템 설정 변경에 해당하므로 일반 사용자 계정에서는 권한 오류가 발생할 수 있습니다. 이 경우 명령어 앞에 sudo를 붙여 관리자 권한으로 실행하면 됩니다.

다른 형식으로 날짜 설정하기

date 명령어는 매우 유연해서 같은 작업을 여러 가지 문법으로 수행할 수 있습니다. 예를 들어 다음과 같이 YYYYMMDD 형식으로 날짜를 지정할 수도 있습니다.

# date +%Y%m%d -s "20081225"

이 명령어는 시스템 날짜를 2008년 12월 25일로 설정합니다.

NTP 서버로 시간 자동 동기화하기

날짜를 수동으로 설정하는 또 다른 방법은 NTP 서버를 활용하는 것입니다. NTP(Network Time Protocol)는 네트워크를 통해 시간을 동기화하는 프로토콜로, 대부분의 리눅스 시스템에는 NTPd라는 데몬이 함께 제공됩니다. 이 데몬을 올바르게 설정하면 로컬 네트워크나 인터넷상의 시간 서버에 접속해 시스템 시계를 자동으로 맞출 수 있습니다. 특히 운영 환경의 서버에서는 시간 정확성이 매우 중요하기 때문에 NTP 동기화가 널리 사용됩니다.

NTP 설치하기

대부분의 리눅스 시스템에는 이미 NTP가 설치되어 있지만, 만약 설치되어 있지 않다면 배포판에 맞는 패키지 관리자로 손쉽게 설치할 수 있습니다.

우분투(Ubuntu) 사용자라면 다음 명령어를 사용하세요.

# sudo apt-get install ntpdate

페도라(Fedora) 사용자라면 아래 명령어를 사용할 수 있습니다.

# yum install ntp

NTP 서버 설정하기

NTPd 설치가 완료되면 좋아하는 텍스트 편집기로 /etc/ntp.conf 파일을 엽니다. 파일 안에서 'server' 파라미터가 포함된 줄을 찾아 다음 주소로 지정합니다.

server pool.ntp.org

파일을 저장한 뒤 NTP 서버를 재시작합니다.

# /etc/init.d/ntpd restart

시간 동기화 실행하기

이제 방금 설정한 시간 서버와 시스템 시계를 동기화할 수 있습니다.

# ntpdate pool.ntp.org
22 Dec 23:07:00 ntpdate[24328]: step time server 123.108.39.80 offset 172868.246157 sec

명령어를 실행하면 시스템이 지정된 시간 서버와 빠르게 통신해 정확한 시간을 가져옵니다. 이렇게 하면 시스템 시간이 확실하게 맞춰졌음을 보장할 수 있습니다. 시간이 어긋나는 것을 방지하려면 이 명령어를 주기적으로 실행해 주는 것이 좋습니다.

참고로 최신 리눅스 배포판에서는 systemd 기반의 'timedatectl' 명령어를 사용해 더 간편하게 시간대 설정과 NTP 동기화를 관리할 수도 있습니다. 예를 들어 'timedatectl set-ntp true' 명령어 한 줄로 자동 시간 동기화를 활성화할 수 있습니다.