Extra Systems Utilities

php-скрипт для синхронизации времени unix-систем

Этот php-скрипт был создан 6 марта 2007 года киевскими программистами Юрием Павленко и Богданом Суворовым. Он обеспечивает возможность синхронизации времени на любом хосте, работающем под управлением nix-системы (Linux, FreeBSD и т.п.).

В процессе своей работы данный скрипт устанавливает соединение с 13-м портом одного из серверов точного времени Extra Systems, получает оттуда необходимую информацию и производит коррекцию системного времени у себя на локальной машине.

Рекомендуется поместить вызов этого скрипта в cron (установив достаточные для коррекции времени права) и вызывать его автоматически 2-3 раза в сутки.

Авторы этого скрипта дают разрешение на бесплатное его использование любым лицом или организацией в любых целях, включая коммерческие. Авторы не несут никакой ответственности за возможный ущерб от использования этого скрипта: всякое лицо или организация, использующие данный скрипт, должны делать это только на свой страх и риск.

<? get_time(); function get_time() { $fp = fsockopen("s5.daytime.net.ru", 13, $errno, $errstr, 30); if ($fp) { while (!feof($fp)) { $data.=fgets ($fp,128); } fclose ($fp); $a = date("d H:i:s Y"); $localday = substr("00".substr($a,0,strpos($a," ",1)),-2); $localyear = substr($a,-4); $localmon=date("m"); $remoteday = substr($data,8,2); if(substr($remoteday,0,1) == " ") $remoteday = "0".substr($remoteday,1,1); $remoteyear = substr($data,20,4); $newhou = substr($data,11,2); $newmin = substr($data,14,2); $newsec = substr($data,17,2); $newmon = $localmon; $newday = $remoteday; $newdate = "date -u ".$newmon.$newday.$newhou.$newmin.$localyear.".".$newsec; if(($remoteday == $localday)&&($remoteyear == $localyear)) { shell_exec($newdate); } } } ?>