<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Окончательное решение проблемы ntpd/dovecot</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/91207.html</link>
    <description>Как известно, dovecot (да и многие другие сервисы) весьма чувствительны к точному времени. В частности, если ntpd начинает переводить стрелки, dovecot тут же умирает с воплями &apos;time went backward&apos;.&lt;br&gt;&lt;br&gt;Главная проблема заключается в том, что при загрузке FreeBSD система rc-скриптов задает очередность запуска демонов, но не гарантирует, что к моменту запуска последующего демона предыдущий выйдет на штатный режим. В частности, ntpd честно запускается ранее, чем dovecot, но далеко не всегда успевает выставить время. Обычно, ко времени запуска довекота, он даже не успевает со всеми серверами из пула пообщаться. Как результат - переводить стрелки ntpd начинает тогда, когда dovecot уже вовсю работает. Итог понятен.&lt;br&gt;&lt;br&gt;Поскольку проблема заключена не в ntpd или dovecot, а в rc-скриптах, решение сделано средствами rc-скриптов: &lt;br&gt;&lt;br&gt;-------------------8&amp;lt;-----------------------------&lt;br&gt;#!/bin/sh&lt;br&gt;#&lt;br&gt;# PROVIDE: ntpwait&lt;br&gt;# REQUIRE: ntpd&lt;br&gt;# BEFORE:  LOGIN&lt;br&gt;&lt;br&gt;# Place that file into /usr/local/etc/rc.d/ntpwait.sh&lt;br&gt;# Extension </description>

<item>
    <title>Окончательное решение проблемы ntpd/dovecot (DeadLoco)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/91207.html#5</link>
    <pubDate>Tue, 22 Mar 2011 08:02:05 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt;Так надо.&lt;br&gt;&amp;gt; А почему так надо?&lt;br&gt;&lt;br&gt;Потому что скрипты без расширения запускаются главным шеллом в бекграунде, а с расширением - внутри основного потока главного шелла. &lt;br&gt;</description>
</item>

<item>
    <title>Окончательное решение проблемы ntpd/dovecot (groggy)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/91207.html#4</link>
    <pubDate>Tue, 22 Mar 2011 03:17:17 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Так надо.&lt;br&gt;&lt;br&gt;А почему так надо?&lt;br&gt;</description>
</item>

<item>
    <title>Окончательное решение проблемы ntpd/dovecot (artemrts)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/91207.html#3</link>
    <pubDate>Mon, 21 Mar 2011 18:16:00 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; : $&#123;ntpwait_flags=&quot;30&quot;&#125; &lt;br&gt;&amp;gt; load_rc_config $name &lt;br&gt;&amp;gt; run_rc_command &quot;$1&quot; &lt;br&gt;&amp;gt; # &lt;br&gt;&amp;gt; -------------------8&amp;lt;----------------------------- &lt;br&gt;&amp;gt; Данный скрипт приостанавливает запуск прочих rc-скриптов сразу после запуска ntpd, чтобы &lt;br&gt;&amp;gt; дать ему время отчехлиться. Если дефолтных 30 сек вам покажется мало, &lt;br&gt;&amp;gt; можете флагами задать нужное время.&lt;br&gt;&amp;gt; Еще раз обращаю внимание: файл скрипта должен иметь расширение .sh, хотя большинство &lt;br&gt;&amp;gt; скриптов, там лежащих, его не имеют. Так надо.&lt;br&gt;&lt;br&gt;Спасибо. Ну это можно в рубрику &quot;Советы&quot; отправить.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Окончательное решение проблемы ntpd/dovecot (DeadLoco)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/91207.html#2</link>
    <pubDate>Mon, 21 Mar 2011 13:30:21 GMT</pubDate>
    <description>&amp;gt; А если так - сначала запустить ntpdate, сделать начальную синхронизацию, а затем &lt;br&gt;&amp;gt; запускать сам ntpd? Вроде, так делается при запуске ntpd в шапке. &lt;br&gt;&lt;br&gt;В настоящее время ntpdate считается устаревшим, и взамен него предлагается запускать ntpd с флагом -g (или ntpd_sync_on_start=&quot;YES&quot;). В любом случае не гарантируется, что точное время будет выставлено до запуска чувствительных ко времени софтов.&lt;br&gt;&lt;br&gt;Собственно, до определенного момента я успешно пользовался ntpd_sync_on_start, пока мне в работу не попала машинка, у которой из-за дефекта кварца время биоса убегает вперед на 15-20 сек в сутки. При этом даже крупношаговый перевод стрелок в стиле ntpdate занимает у ntpd заметное время. Заметно большее, чем остается до запуска довекота. &lt;br&gt;</description>
</item>

<item>
    <title>Окончательное решение проблемы ntpd/dovecot (sdog)</title>
    <link>https://opennet.ru/openforum/vsluhforumID1/91207.html#1</link>
    <pubDate>Mon, 21 Mar 2011 13:22:44 GMT</pubDate>
    <description>А если так - сначала запустить ntpdate, сделать начальную синхронизацию, а затем запускать сам ntpd? Вроде, так делается при запуске ntpd в шапке.&lt;br&gt;</description>
</item>

</channel>
</rss>
