Вот наконец решил разобраться с вечной проблемой на своем рабочем месте: часы убегают вперед на несколько минут.
Корпоративная сеть — Windows домен, выход в интернет только через proxy сервер.
Все Windows машины получают время от доменного контроллера, но у меня рабочая станция Ubuntu в связи с производственной необходимостью. NTP сервера в округе я не нашел.
И вот наконец раздражение пересилило лень и я написал скриптик который синхронизирует время через http. Конечно если вам нужна точность времени в пределах секунды то Вам такой способ не подойдет, но если Вас устроит погрешность в секунду — две то с задачей он справится.
Весь скрипт состоит из пары строк на 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 расписание запуска, а переменной proxies устанавливаем адрес корпоративной proxy, и вовремя приходим на митинги :-)
PS: Конечно каждый может сделать это сам за 5мин, уверен есть те кто может сделать это за 5 сек, но также есть те кому просто лень :-) этот пост для них.