Linux에서 NTP time daemon 으로 시간 동기화하기

ntpd 는 deprecated 되었으니 chronyd 를 사용하세요.


설치

RHEL/CentOs

yum 으로 ntp 패키지를 설치한다.

yum install ntp ntpdate 


Ubuntu

sudo apt-get install ntpdate


설정

NTP daemon 으로 자동 동기화

  1. 부팅과 동시에 실행되게 런레벨 조정

    chkconfig ntpd on
  2. ntp 데몬 시작

    service ntpd restart
  3. 다음 명령어로 ntp daemon 의 상태를 확인

    root@test1:~:> ntpq -dp
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
     61.110.197.50   133.100.9.2      2 u   29   64    7    2.142   13.842   0.494
     117.16.143.140  211.39.136.4     3 u   24   64    7    8.877    0.654   0.910
     211.233.84.186  121.182.147.191  2 u   23   64    7    1.357    2.652   0.527

crontab 으로 동기화

NTP daemon 이 떠 있으면 다음과 같은 에러가 나고 ntpdate 명령어가 먹지 않으므로 ntpdate 로 업데이트할 경우 service ntpd stop 으로 daemon 을 중지해야 함

18 Jan 05:53:49 ntpdate[21340]: the NTP socket is in use, exiting


  1. crontab -e
  2. 다음 내용 추가(매일 새벽 1시에 시간 동기화) -

    ## NTP server는 maths.kaist.ac.kr 에서도 제공함
    00 1 * * * ntpdate ntp.postech.ac.kr
  3. date 로 현재 시간 확인


Linux의 date/time 명령어 예제

  1. 현재 날자와 시간을 Oracle의 YYYY-MM-DD HH24:MI:SS 형식으로 출력

    root@test1:~:> date '+%Y-%m-%d %H:%M:%S'
    2013-10-28 10:55:03
  2. 현재 날자를  "2013-10-09" 로 설정

    root@test1:~:> date '+%Y-%m-%d' -s "2013-10-09"
    2013-10-09
  3. 현재 시간을 설정하려면 date +%T -s "hh:mm:ss" 의 형식으로 입력한다.

    date +%T -s "11:28:00"
  4. date 와 time 을 동시에 지정할 경우 date mmddhhmmyyyy.ss 의 형식으로 입력한다.

    ## 2013년 10월 28일 08시 32분 7초 로 설정
    root@test1:~:> date 102808322013.07
    2013. 10. 28. (월) 08:32:07 KST
  5. 1


Ref