본문 바로가기

리눅스

rdate 명령어

반응형

rdate 명령어 | 시간 동기화

rdate 명령어는 리눅스나 유닉스 시스템에서 시간 서버로부터 시간 정보를 가져오는 명령어입니다. rdate 명령어는 특정 시간 서버와 동기화하여 시스템 시간을 조정하는 데 사용됩니다.

rdate 명령어 설치

  • rdate 명령어는 대부분의 리눅스 시스템에 기본적으로 설치되어 있습니다.

Debian 계열

sudo apt-get update
sudo apt-get install -y ntpdate

RHEL 계열

sudo yum install -y ntpdate

서비스를 시작하고 부팅 시 자동으로 시작되도록 설정할 수 있습니다.

sudo systemctl start ntpd
sudo systemctl enable ntpd

rdate 명령어 구문

rdate [옵션] [서버 주소]
  • [서버 주소] : 시간 정보를 가져올 시간 서버의 주소입니다. 일반적으로 공용 NTP(Network Time Protocol) 서버를 사용합니다.

사용 예시

원격지(time.bora.net) 시간 확인

rdate -p time.bora.net
$ rdate -p time.bora.net
rdate: [time.bora.net]  Fri Dec 18 09:28:54 2020

로컬 서버 시간 확인

date
$ date
Fri Dec 18 09:31:18 KST 2020
728x90

time.bora.net 서버와 시간 동기화

rdate -s time.bora.net

하드웨어 시간 확인

clock
$ clock
2020-09-04 14:05:40.830349+0900

현재 리눅스 시간과 하드웨어 시간을 동기화

hwclock -w

crontab 추가

rdate 명령어와 clock 명령어를 사용하여 시간을 동기화하고 이를 crontab에 추가할 수 있습니다. rdate는 지정된 시간 서버에서 시간을 가져오고 clock -w는 시스템 시간을 하드웨어 시계에 기록합니다.

crontab에 시간 동기화를  추가

crontab 편집

sudo crontab -e
$ crontab -e
0 3 * * * rdate -s time.bora.net && clock -w &> /dev/null
  • &> /dev/null : 명령어 출력과 에러 메시지를 /dev/null로 리디렉션하여 무시

또는

# 매일 새벽 3시에 rdate로 시간 동기화하고 하드웨어 시계에 기록
0 3 * * * rdate -s time.bora.net && clock -w >> /var/log/ntpdate.log 2>&1
  • >> /var/log/ntpdate.log 2>&1 : 명령어 출력과 에러 메시지를 /var/log/ntpdate.log 파일에 저장

/etc/cron.hourly 디렉토리에 시간 동기화 스크립트를 추가

cat > /etc/cron.hourly/set_time << "EOF"
#!/bin/sh

if [ -f /usr/sbin/ntpdate ]; then
        /usr/sbin/ntpdate -u time.bora.net && clock -w >/dev/null 2>&1
fi
EOF
chmod 700 /etc/cron.hourly/set_time
ls -l /etc/cron.hourly/set_time
$ ls -l /etc/cron.hourly/set_time
-rwx------ 1 root root 119 May 31 04:51 /etc/cron.hourly/set_time

 

참고로 rdate 명령어는 비교적 간단한 시간 동기화 명령어이며, 더 정확하고 고급화된 시간 동기화에는 ntpdate 또는 timedatectl과 같은 도구를 사용하는 것이 좋습니다. NTP(Network Time Protocol)를 사용하는 경우 더 정확하고 안정적인 시간 동기화가 가능합니다.

 

728x90
반응형