NTPが使えない環境で、時刻合わせをしたい

NTPを使って時刻合わせをしたい。

のだけど、インターネットに直接つながっていない環境なので、
NTPが使えないのよね。


httpはproxy経由で通っているので、なんかこれで出来ないかなーと調べて見ると

HTP(HTTP Time Protocol)を使ってNTPが使えない環境でも時刻あわせをする - KEEP CALM AND DRINK BEER

という記事を発見。


なんでもhtpと言うのを使うとhttp経由で時刻合わせが出来るようです。
htpは「http time protocol」の略のようです


htpの配布元は以下。
www.clevervest.com



早速試してみるんだけど、いろいろと悩む。


まずwget
書いてある通り

# wget http://www.clevervest.com/htp/archive/perl/htp-0.9.3.tar.gz

でhtpをダウンロードしようとするんだけど、出来ない。


まぁproxy通していなかったので、当たり前と言えば当たり前。
wgetでproxyを使うには
wgetでproxyを指定する。 | Rutakeの技術メモ
に書いてある通り、環境変数を設定する必要があるようで。

# export http_proxy="http://プロキシのホスト:ポート番号/"
# wget http://www.clevervest.com/htp/archive/perl/htp-0.9.3.tar.gz

でOK。




んで、htp落として使ってみるんだけど、

# ./htpdate nict.go.jp
Testhttp://nict.go.jp => 97815 second(s)
Refuses clock setting (97815 sec)

って表示されて、うまいこといったんかなー?
と思うんだけども、dateコマンドで時刻を確認しても、全然変わっていない。


あれかな?時刻は少しずつ合わせるタイプなのかな?
でも、今は確認のため、時刻むっちゃずらしているので、
一発で時刻変わってほしいんだけどな、


と、いうことで、落としてきたhtpの中身見てみると、「htpdate-light」と言うコマンドが。
適当に

# ./htpdate-light -d -s プロキシのホスト -p ポート番号 nict.go.jp

ってやると、強制的に時刻変わった。



とりあえず、これで今回はOKとすることにしました。