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)で時刻合わせをする ことにする。スクリプトの編集結果は以下のとおり。
|