티스토리 뷰

OS/Linux

Time Server와 Sync (rdate, date)

solarwind 2008. 6. 25. 20:37
반응형
사용하는 서버의 /etc/crontab 에 아래와 같은 줄이 있습니다.

0 0 * * 1 root rdate -s time.kriss.re.kr && clock -w

그러니까 매주 한번씩 타임서버인 time.kriss.re.kr에서 시간을 읽어와서
rdate -s 옵션으로 저장하고(man rdate 참조), clock 명령으로
CMOS 시간값에 저장합니다.(man clock 참조).

타임서버는 가까이 있는 신뢰할만한 타임서비스 서버를 적으면 좋겠지요.

경험에 의하면 타임서버가 외국서버라 해도 시간대에 관계없이(타임서비스
자체가 시간대정보까지 포함하는가 보죠.) 잘 작동합니다.

*-- 몇몇 타임서버 -----------*

time.kriss.re.kr
time.bora.net
time.nuri.net
time-a.nist.gov


제가 아는바로는 rdate -s 명령이나 date -s명령은 궂이 구분을 짓자면
소프트웨어적인 시간을 설정하는 것으로 압니다.
따하서 하드웨어 시간(CMOS)까지 조정해줘야(clock -w) 리부팅후 조정시간이
반영되겠지요.

하두 오래전 일이라 매뉴얼페이지를 다 뒤져볼수는 없지만 어렴풋한 기억으론
위의 말이 맞을것 같습니다.

제 경우 1주일에 한번씩 재설정하고 있긴 하지만(제 보드도 TYAN 입니다.)
항상 몇초에서 몇분씩 틀리긴 하더군요.  어긋나는 시간을 최소화하자는 취지에서
매주 1회 돌리고 있답니다.

타임서버에서 자주 시간값을 읽어와 재설정하는것도 좋긴 하지만
간혹 cron이나 at등의 스케줄에 영향받는 프로그램을 고려해야할것입니다.

예컨대 이런 문제도 발생할 수 있겠지요.

10시 1분에 일일 자료백업을 하도록 cron에 설정해두고, 10시 정각에
타임서버에 접속하여 시간을 재설정했는데 타임서버의 시간이 10시 2분이었다고
치죠.
그렇다면 10시 1분은 그냥 지나친 결과이기 때문에 예정된 작업은 수행되지
않을겁니다.

아무튼 date 명령으로 출력된 시간을 하드웨어(CMOS)에 기록하기 위해서는
clock -w 명령을 사용하면 되고, 리부팅시 초기에 CMOS 시간을 참조할 것이므로
조정된 시간이 반영될테지요.


[lawwal@ ~]# echo;echo -n "System : "; date;echo -n "CMOS : ";clock -r;
echo -n "Time Server : "; rdate time.kriss.re.kr;echo

System : Tue Sep  7 10:50:44 KST 1999
CMOS : Tue Sep  7 10:50:57 1999  -0.562593 seconds
Time Server : [time.kriss.re.kr]   Tue Sep  7 10:50:55 1999


[lawwal@ ~]# rdate -s time.kriss.re.kr && clock -w


[lawwal@ ~]# echo;echo -n "System : "; date;echo -n "CMOS : ";clock -r;
echo -n "Time Server : "; rdate time.kriss.re.kr;echo

System : Tue Sep  7 10:53:33 KST 1999
CMOS : Tue Sep  7 10:53:34 1999  -0.171902 seconds
Time Server : [time.kriss.re.kr]   Tue Sep  7 10:53:33 1999

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함