そもそもNTPとは Network Time Protocol の略でネットワークを介して時間を合わせましょう!!っというプロトコル
もちろん正確な時間を持っているサーバがあってそこに「今何時?」って聞いて「○○時××分△△秒だよ」って返事がある
そして,自分の時計とズレがある場合は修正する
そして正確な時間を持っているサーバというのは世界中にある
日本だと日本標準時に直結されたNICTのサーバなど複数ある
詳しくはwikipedia などを参照して下さい
NTPの説明はこれぐらいにして問題は職場では proxy の関係で NTP で時刻を合わせることができない
いろいろ調べた結果 NTP は proxy を超えることができないということがわかた
そして,調べている中で発見した解決策が http 経由で時刻を取得する方法である
さらに,Http Time Protocol なるものがあることを知ったのでこれで時刻を取得したいと思う
とりあえず wget でソースをゲットするが proxy があるので
# export http_proxy="http://プロキシのホスト:ポート番号/" # wget http://www.clevervest.com/htp/archive/perl/htp-0.9.3.tar.gzとする
次に解凍してフォルダへ移動
# tar xzvf htp-0.9.3.tar.gz# cd htp-0.9.3/sbin念のため時刻を合わせる前の時刻を表示
# dateTue Mar 29 08:30:28 JST 2011そして実行
# ./htpdate nict.go.jpしたがエラーが出たので参考サイトをみて htpdate-light を使ってみる
# ./htpdate-light -d -s プロキシのホスト -p ポート番号 nict.go.jpHEAD http://nict.go.jp HTTP/1.0Host: nict.go.jpUser-Agent:htpdate-light/0.9.3Pragma: no-cache
HTTP/1.0 200 OKDate: Tue, 29 Mar 2011 02:15:14 GMTSetting time... Tue Mar 29 11:15:14 JST 2011
てな感じで時刻を取得することができた
念のためもう一度確認すると
# dateTue Mar 29 11:15:26 JST 2011合ってる!!
それにしても,ズレ過ぎだろ!!
参考サイト
0 件のコメント:
コメントを投稿