Плагин timesync.spf
Файл: timesync.spf
Автор: Nicholas Nemtsev
Описание: Добавляет возможность синхронизировать системные часы
с указанным сервером точного времени по протоколу NTP. Список серверов
указан ниже.
Новые слова:
Команда, инициирующая синхронизацию времени. В качестве параметра укажите имя NTP-сервера.
Пример:
#( time_adjust
\ несложный пример синхронизации времени
OnceADay
Rule: ONLINE?
Action:
TP-SYNC: time.nist.gov
TP-SYNC-RESULT 0<>
IF
CLEAR-ONCE
MSG: "Can't synchronize time"
ELSE
TMSG: "Time was synchronized. Server response delay: %TP-SYNC-DELAY%" 10
THEN
)#
#( time_adjust1
\ развернутый, полнофункциональный пример синхронизации времени
0 VALUE hh0
0 VALUE mm0
0 VALUE ss0
0 VALUE s_hh
0 VALUE s_mm
0 VALUE s_ss
OnceADay
Rule: ONLINE?
Action:
GET-CUR-TIME
Hour@ TO hh0 Min@ TO mm0 Sec@ TO ss0
TP-SYNC: time.nist.gov
<time> @ UT>TIME 2DROP DROP TO s_hh TO s_mm TO s_ss
TP-SYNC-RESULT 0<>
IF
LOG: timesync.log "*** %YYYY%-%MMM%-%DD% %hh0%:%mm0%:%ss0% %TP-SYNC-DELAY% (%s_hh%:%s_mm%:%s_ss%)"
TQUERY: "Can't synchronize time.%crlf%Continue synchronization?" 10 Yes
IF CLEAR-ONCE THEN
ELSE
GET-CUR-TIME
LOG: timesync.log "%YYYY%-%MMM%-%DD% %hh0%:%mm0%:%ss0% -> %hh%:%mm%:%ss% %TP-SYNC-DELAY%"
TMSG: "Time is synchronized%crlf%%YYYY%-%MMM%-%DD% %hh0%:%mm0%:%ss0% -> %hh%:%mm%:%ss% (server time %s_hh%:%s_mm%:%s_ss%)" 5
THEN
)#
Переменная TP-SYNC-RESULT позволяет убедиться в успешности проведенной
синхронизации времени. Содержит 0 если синхронизация прошла успешно,
и winsock error code, если при подключении была ошибка.
Используйте после слова TP-SYNC:.
Переменная TP-SYNC-DELAY содержит время отклика сервера точного времени
(в миллисекундах).
Используйте после слова TP-SYNC:.
Список доступных серверов точного времени:
time.nist.gov
clock.psu.edu
finch.cc.ukans.edu
ntp.css.gov
ntp.lth.se
ntp.maths.tcd.ie
ntp0.cornell.edu
ntp-1.ece.cmu.edu
ntp-2.ece.cmu.edu
ntp2a.mcc.ac.uk
Rolex.PeachNet.EDU
salmon.maths.tcd.ie
sundial.columbia.edu
time.nrc.ca
timelord.uregina.ca
timex.cs.columbia.edu
Timex.PeachNet.EDU
![]()