httpを介した時刻同期



最後に、私は職場での永遠の問題に対処することにしました。数分間時計が進みます。

企業ネットワーク-Windowsドメイン、プロキシサーバーを介したインターネットへのアクセスのみ。



すべてのWindowsマシンはドメインコントローラーから時間を取得しますが、実稼働の必要性のためにUbuntuワークステーションを使用しています。 私が見つけられなかった郡のNTPサーバー。

そして最後に、刺激が怠inessを圧倒し、httpを介して時間を同期するスクリプトを書きました。 もちろん、1秒以内の時間精度が必要な場合、この方法は適していませんが、1秒あたりのエラーに満足している場合-2であれば、タスクに対処できます。







スクリプト全体は、Pythonの数行で構成されています。



from urllib import urlopen

import os



proxies = { 'http' : 'http://localhost:3128' }

#Request google index page

headers = urlopen( 'http://google.com/' , proxies=proxies).info()

date = "date -s \"" + headers.getheader( 'Date' ) + "\""

print "Google Date:" + date

print os.popen(date).read()



* This source code was highlighted with Source Code Highlighter .








動作原理:

httpプロトコルには、サーバー時間が示されるフィールドがあります。

つまり、信頼するサーバーを選択して要求を行い、ヘッダーから時間値を取得し、システムのサーバーとして設定するだけで十分です。



crontabで起動スケジュールを書き留め、企業のプロキシアドレスをプロキシ変数に設定し、時間内に集会に到着します:-)



PS:もちろん、誰もが5分で自分でできるのです。5秒でできる人はいると思いますが、あまりにも怠thoseな人もいます:-)この投稿は彼らのためです。






All Articles