menu
書いてる野郎
orebike@gmail.com
$ ntpdate -u ntp.nict.jp
通常は123番ポートを使うが、大体デーモンが塞いでいるのでuを使って開いているポートでやる。
VMware上にインストールしたDebian etch の時計のずれが激しい(VMwareの問題)ので問題解決をあきらめて定期的にあわせることにした
時刻はNTPという仕組みで合わせる。仕組みは簡単でサーバに時刻を聞きに行くだけ。
今回は合わせるだけなのでNTPのクライアントが必要になるので調べてみる。
$ aptitude search ntp p ntpdate - client for setting system time from NTP servers
それらしいのがあったのでインストール
$ aptitude install ntpdate
インストール完了
動作を確認してみる。とりあえず現在時を確認
$ date Sat Dec 15 11:21:47 JST 2007
ここと確認 http://www3.nict.go.jp/cgi-bin/JST.pl
起動して少ししかたってないのにもう20秒近く進んでいる・・・これは可変クロックのCPUのせいだな
使い方がわからんので調べる
$ man ntpdate NAME ntpdate - set the date and time via NTP SYNOPSIS ntpdate [-bBdoqsuv] [-a key] [-e authdelay] [-k keyfile] [-o version] [-p sam- ples] [-t timeout] server [...]
ゴチャゴチャ書いてあるが
$ ntpdate サーバ名
でいいっぽい
今回は独立行政法人情報通信研究機構のNTPサーバを拝借させてもらう
時刻のずれが比較的大きくなるのでstepモードという強制的に時間を設定するモードにする・・・ほかには徐々に標準時に近づけるslewモードとか、一定以上ずれていたら修正するモードとかイロイロあるっぽい
stepモードはbオプションで指定
$ ntpdate -b ntp.nict.jp
実行すると時計が合った状態になって、何秒修正したかを表示してくれる、今は進んでしまう病なのでマイナス表示・・・つまり時間を巻き戻しましたよということ
それにしても時計進むの早すぎ・・・合わせた先から1秒以上ずれる・・・
定期実行に登録する。ってことでcronさんの出番です。
$ crontab -e
エディタが起動するので
0,15,30,45 * * * * /usr/sbin/ntpdate -b ntp.nict.jp
これ追記・・・
cronの設定を読み込みなおし
$ /etc/init.d/cron reload
終了
っとここまで書いて思ったが・・・時間を基準にしてコマンドを実行するcronで時間の設定をするとメチャクチャなことになるのではないかと・・・・ とくにsetpモードで合わせるとたいへんなことになりそうなんだが
かといってslewモードだと最大で1秒につき0.005秒しか修正できない仕様 つまり今みたいに1秒に2秒分ぐらいずれてしまうと使い物にならない
遅い分にはいいが、時間が進む状況は困る・・・