D:20010421 免責事項
PCの時計はあまり正確ではないから、Timeserverを使ってきっちり と時計を合わせてみよう。
dateをキーワードにしてパッケージを検索してみる。
# grep-available -P date |
# apt-get install ntpdate |
You must customize /etc/init.d/ntpdate before ntpdate can be run. |
# /usr/sbin/ntpdate -sd 131.107.1.10
transmit(131.107.1.10)
receive(131.107.1.10)
transmit(131.107.1.10)
receive(131.107.1.10)
transmit(131.107.1.10)
receive(131.107.1.10)
transmit(131.107.1.10)
receive(131.107.1.10)
transmit(131.107.1.10)
server 131.107.1.10, port 123
stratum 1, precision -18, leap 00, trust 000
refid [ACTS], delay 0.16371, dispersion 0.00096
transmitted 4, in filter 4
reference time: bfcd128e.32e33eff Fri, Dec 21 2001 10:44:46.198
originate timestamp: bfcd1292.0cc154c9 Fri, Dec 21 2001 10:44:50.049
transmit timestamp: bfcd1291.f6c5197a Fri, Dec 21 2001 10:44:49.963
filter delay: 0.16373 0.16431 0.16371 0.16612
0.00000 0.00000 0.00000 0.00000
filter offset: 0.015176 0.016890 0.016813 0.015608
0.000000 0.000000 0.000000 0.000000
delay 0.16371, dispersion 0.00096
offset 0.016813 |
「offset」値が「+-128ms」以上の場合はローカルマシンの時計 を合わせてくれない。こんなときは、-Bオプ ションを使えば時刻を合わせることができる。
動作確認もすんでcronで動かそうとしたら インストールされていなかった。ここで先にcronをインストールしておく。
インストールが済んだら自動実行用のスクリプト(setsystime)を 書いて、/usr/local/binへコピーして、実行許可を与えておく。
【シェルスクリプト(setsystime)】 #!/bin/bash /usr/sbin/ntpdate -s 131.107.1.10 |
シェルスクリプトをcronに登録して、最後 に登録できたことをcrontab -lで確認しておく。
# crontab -e 33 * * * * /usr/local/bin/setsystime |
| [1] | 追記:2002年7月。cronの使用を中止し てシステム起動時のみにスクリプト( /etc/init.d/ntpdate)で時刻合わせをする ことにする。スクリプトの編集結果は以下のとおり。
|