------------------------------------------------------- WebでPCの時刻合わせ♪ for OS/2 Ver 1.0 2001.Apr.09 by Achain ------------------------------------------------------- ■ 何するものそ 特定のWebサーバーにアクセスし,サーバーからの応答に含まれる 日時情報をもとにしてPCの時刻を設定します. どこぞのWebサーバーの日時を自分のPCにコピーする感じ. ■ 背景 会社で使っているOS/2マシンの時刻が結構ズレるんですが, あいにくモデム用の電話回線を停められてしまい,以前のように 一日一回モデム+In-joyでプロバイダに接続してNTP(Network Time Protocol) で時刻合わせをするワザが使えなくなってしまったのです. 社内にはNTPサーバーはないし(あるのかもしれんけど知らない), 社外にはもはやhttp proxy経由でしか出て行けません. ということで,とりあえずhttpを利用した時刻合わせプログラムを 作ってしのぐことにしたというわけです. はっきり言って精度は甘いです. 特に接続先サーバーが重かったり途中の回線が込んでいたりして サーバーからの応答が遅い場合は,設定される時刻もその分遅れると 見ていいでしょう.(^^; NTPを使える人は素直にNTPを使うのが無難です. ■ 動作 指定されたWebサーバー(というかWebページ)にHEADリクエストで アクセスし,応答の中の Date: フィールド(グリニッジ標準時)を もとにしてローカルタイムを求め,DATEコマンドとTIMEコマンドを 呼び出します. ■ 動作環境 REXXとTCP/IPとDATEコマンドとTIMEコマンドが使える必要があります.. OS/2 Warp 4.51 (Convenience Package)にて動作確認を行っています. ■ 導入 基本的には実行するだけです. 接続先Webサーバーの設定やhttp proxyの設定などはスクリプトの最初の ほうの記述を変更することで可能です. なるべく反応が速くて時刻の設定がちゃんと管理されているサーバーを 使うのが吉です. ■ 起動 timesync.cmdを直接実行してください. ネットワークの応答をよくするために,2回くらい連続で実行したほうが いいかもしれません.1回目でホスト名を引いたりなんだりかんだりが キャッシュされて軽くなる期待が持てますので. ちなみに起動パラメタに 「DUMMY」 を付けるとPCへの日時設定を 行いません.2回実行する場合には最初は「DUMMY」付きで,2回目は パラメタ無しで実行すればよいです. -- 例 ------------------------------- [F:/] timesync DUMMY adjust date/time from [2001-04-09 22:47:54] to [2001-04-09 22:47:54] [F:/] timesync adjust date/time from [2001-04-09 22:47:57] to [2001-04-09 22:47:56] Adjusted. ------------------------------------- ■ 補足 エラー処理はまじめにやっていません.接続先サーバーが落ちていたり するとどういう結果になるかいまいち不安です.(^^; ■ 履歴 v1.0 : 2001-Apr-09 ■ その他 テストは充分に行っていますが,万が一本ソフトウェアによって何らかの被害が 発生しても,作者は責任を負いません. バグリポートは大歓迎です. 他にも要望,感想など頂けるのでしたら e-mail でこちら↓へお願いします. あちゃいん/相澤邦彦 achain@netlaputa.ne.jp