[Linux] 서버 시각 정기적 동기화
라엘이가 여러 서버를 돌려보고 느낀건데,
서버 부하(Cpu Load)가 높으면 시간이 약간 느리게 간다.
급기야는 3시간에 5분정도의 오차를 내는 서버가 있었다.
해당서버는 Windows Server 2003 이었고
http://www.kriss.re.kr/2010/standard/12.html 프로그램을 사용하여
1분마다 서버 시각을 갱신하게 세팅해 두었다.
그건 그렇고 라엘이가 이 글을 쓰는 건 리눅스 우분투(우분투라고 했지만 다른 배포판에서 될 것같다)에서 서버 시각을 정기적으로 맞추는 방법이다.
1. 먼저 서버에 root로 접속
#whoami
root
#pwd
/root
2. 시간업뎃 쉘작성.
명령어도 해도 되는데 쉘로 작성하는게 관리면에서 더 좋다.
#vi sync_time.sh
1
|
/usr/sbin/ntpdate time .bora.net |
여러 시각서버가 있었지만 라엘이 생각엔 time.bora.net 이 가장 안정적인것 같았다.
3. 쉘에 실행권한주기
#chmod 700 sync_time.sh
4. 실행해보자
#./sync_time.sh
25 May 08:57:31 ntpdate[25318]: step time server 203.248.240.140 offset 1.387644 sec
--
5월 25일 8시 57분에(지금 글쓰고 있는 시각과 같다) 시각동기화를 실행했으며
시각서버 time.bora.net(203.248.240.140) 과는 1.38초 차이가 났으며 이를 수정하였다.
라는 뜻이다.
--
5. 정기적 시각갱신.
수동갱신보다 효과적인 것은 스케쥴링에 따른 갱신이다.
crontab 이라는 스케쥴링 프로그램을 사용할 것이다.
이 프로그램은 모든 리눅스 배포판에 기본적으로 설치되어있는 프로그램이다.
#crontab -e
(/usr/bin/vim.basic Editor) 로 선택한다.
1
|
10 * * * * /root/sync_time .sh |
*시 10분에 시간 동기화를 실시한다. 1시간마다 실행하며
0시 10분, 1시 10분, 2시 10분에 실행된다.
6. 끝.