+++ ここから
# Configure the system clock with ntp.
# This can be changed if your system keeps GMT.
# ref. /etc/adjtime, hwclock(8), adjtimex(8), /usr/include/sys/timex.h
if [ -x /usr/bin/ntpdate -a -x /sbin/hwclock ]; then
/usr/bin/ntpdate -s ntp.example.net && /sbin/hwclock --systohc
fi
if [ -x /usr/local/bin/adjtimex ]; then
/usr/local/bin/adjtimex --tick 10000 --frequency 1
fi
+++ ここまで
Aug 22 20:20:03 eringi ntpdate[1180]: step time server X.Y.Z.123 offset 1.626606 sec
Aug 23 20:20:03 eringi ntpdate[1490]: step time server X.Y.Z.123 offset 1.642889 sec
Aug 24 20:20:03 eringi ntpdate[6441]: step time server X.Y.Z.123 offset 1.665247 sec
Linuxの時刻合わせの一つの方法 (スコア:3, 参考になる)
と文句を言われない ためには,各ホストのシステム・クロック
のずれが常に1秒未満になっているようにす るのが望ましい.
起動時, /etc/rc.d/rc.S によりハードウェア・クロック (RTC)
の時刻がシステム・クロックに読み込まれる (/sbin/hwclock --hctosys).
その後すぐに /etc/rc.d/rc.local 中で ntpdateによってシステム・
クロックを正確な時刻に調整し, それが成功したなら,
ハードウェア・クロックもその
正確な 時刻に合わせる (/sbin/hwclock --systohc) ことにする.
よって, ハードウェア・ クロックはだいたい合っていれば
よいことにする. 各ホストともともプロバイダ等の提供するntpサーバを使って,
起動時および1日1回, システム・クロックとハード ウェア・クロックとを
調節する. LANにわざわざntpサーバは立てない. adjtimex の --tick と
--frequency オプションを使ってシステム・クロックの進みまたは遅れ をなくしておけば,
1日1回程度のntpdateで十分に「ずれが1秒未満」の精度を達成 できる.
hwclock(8), adjtimex(8)の man pages や /etc/adjtime, /usr/include/sys/timex.h も一読されたい.
起動時に時刻をあわせるため /etc/rc.d/rc.local など
に次の数行を書く:
+++ ここから
# Configure the system clock with ntp.
# This can be changed if your system keeps GMT.
# ref. /etc/adjtime, hwclock(8), adjtimex(8), /usr/include/sys/timex.h
if [ -x /usr/bin/ntpdate -a -x /sbin/hwclock ]; then
/usr/bin/ntpdate -s ntp.example.net && /sbin/hwclock --systohc
fi
if [ -x /usr/local/bin/adjtimex ]; then
/usr/local/bin/adjtimex --tick 10000 --frequency 1
fi
+++ ここまで
crontab(5)に次の1行を追加して, 毎日20時20分 (あなたが
日常的にPCを使いはじ める少し前がよい) に時刻をあわせる.
20 20 * * * /usr/bin/ntpdate -s ntp.example.net && /sbin/hwclock --systohc
/var/log/messages に offset が記録されるはずなので,
それを元に --tick と --frequency の値を決める. たとえば
Aug 22 20:20:03 eringi ntpdate[1180]: step time server X.Y.Z.123 offset 1.626606 sec
Aug 23 20:20:03 eringi ntpdate[1490]: step time server X.Y.Z.123 offset 1.642889 sec
Aug 24 20:20:03 eringi ntpdate[6441]: step time server X.Y.Z.123 offset 1.665247 sec
なら1日平均1.645秒遅れるということなので, そのぶん
システム・クロック をスピードアップする. 1.645/8.64*6553600=1247763
だから,
# /usr/local/bin/adjtimex --tick 10000 --frequency 1247763
とする.
# /usr/local/bin/adjtimex --print
で設定を確認する. 11分ごとのハードウェア・クロックへの同期を行わない設定
((status & 64) が真) になっていることも確認しておく.
システム・クロックの スピードが十分調整されたら,
/etc/rc.d/rc.localにも同じadjtimexを書いておく.
この調整が面倒なら, 2~3時間ごとくらいに ntpdate
することにすれば「ずれが 1秒未満」の精度はたいてい達成できる.
ntpdateの頻度はログのoffsetの値を見て 決めるとよい.
love && peace && free_software
t-nissie
Re:Linuxの時刻合わせの一つの方法 (スコア:1)
clockadj
http://www.netfont.gr.jp/~matsu/clockadj/clockadj.html
こっちの方が、簡単かも。(でも、Linuxもってないので、試していない。)
えー、おれLinuxじゃないし、とかいうあなたは、clockspeed。
clockspeed
http://cr.yp.to/clockspeed.html
日本語で説明がほしい、という人は、UNIX USERの2002/7号の
djb特集をみるとよいかも。
Intelやsparcじゃない人は、ごめんね。(だったはず。)
#maxpollなんて知らんかった。17にしとこ。
もうそういう時代でしょ。オール電波。
波田陽区風に (スコア:0)
でも、あんたntpのマニュアル読んでいないだけですから。残念!!
maxpoll切り!!