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な人もいます:-)この投稿は彼らのためです。

Source: https://habr.com/ru/post/J82840/


All Articles