가끔 VMware에서 개발을 하거나 프로그램을 실행하면 뜬금없는 요상한(?) 에러가 발생하는 경우가 있습니다.
대부분의 경우 시스템의 시간이 실행파일의 날짜보다 과거인경우 (실행파일 2012년6월7일, 시스템 시간 2012년6월6일 -_-ㅋ)가 대부분 인것 같습니다.
이런 경우를 대비해서 ntpdate를 cron에 등록하여 일정시간마다 시간을 동기화 하도록 하는게 좋습니다.
FreeBSD 는 핸드폰 처럼 자동으로 시간을 맞추는 작업을 하지 않습니다. 그래서 cron을 통해 일정 시간 마다 서버의 시간을 표준 시간에 맞추도록 해야 합니다.
특히나 VMware로 설치된경우 시스템 시간이 자꾸 느려지는 문제가 있습니다. 아무래도 가상 머신이라 애로사항(?)이 있지 않느 싶습니다.
date 명령어를 입력하면 서버의 시간을 알 수 있습니다.
# date Tue Jun 5 08:35:06 KST 2012
ntpdate 명령어를 통해 시스템 시간을 동기화 할 수 있습니다.
국내의 NTP (Network Time Protocol; NTP) 서버는 time.bora.net 등이 있습니다.
NTP란? (출처: terms)
다음의 명령어를 통해 시스템 시간을 동기화 합니다.
# ntpdate time.bora.net 4 Jun 23:40:48 ntpdate[729]: step time server 203.248.240.140 offset -32398.726958 sec
그리고 다시 date 명령어를 통해 NTP서버와 동기화된 서버의 시간을 확인 할 수 있습니다.
# date Mon Jun 4 23:41:11 KST 2012
crontab을 이용해 5분 간격으로 서버의 시간을 동기화 하도록 하겠습니다.
설명 |
대상 |
권한 | root |
편집 대상 | /etc/crontab |
등록 항목 |
*/5 * * * * root /usr/sbin/ntpdate -b time.bora.net |
vi /etc/crontab
대략 다음과 같은 항목 (11번 라인) 이 추가 되면 됩니다. (매 5분마다 ntpdate 명령어 수행)
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.33.2.1.8.1 2012/03/03 06:15:13 kensmith Exp $ # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin # #minute hour mday month wday who command # */5 * * * * root /usr/libexec/atrun */5 * * * * root /usr/sbin/ntpdate -b time.bora.net # # Save some entropy so that /dev/random can re-seed on boot. */11 * * * * operator /usr/libexec/save-entropy # # Rotate log files every hour, if necessary. 0 * * * * root newsyslog # # Perform daily/weekly/monthly maintenance. 1 3 * * * root periodic daily 15 4 * * 6 root periodic weekly 30 5 1 * * root periodic monthly # # Adjust the time zone if the CMOS clock keeps local time, as opposed to # UTC time. See adjkerntz(8) for details. 1,31 0-5 * * * root adjkerntz -a
crontab을 재시작 합니다. 이제는 매 5분마다 ntp서버에서 서버와의 시간을 주기적으로 동기화 시키게 됩니다.
# /usr/sbin/cron restart
'FreeBSD' 카테고리의 다른 글
5분으로 끝내는 FreeBSD 8.3 설치 (동영상) (0) | 2012.06.07 |
---|