<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Перенаправления потоков для ротации логов</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/87911.html</link>
    <description>Непрерывно работающая программа создает лог перенаправлением своего стандартного вывода в файл.&lt;br&gt;Программа не моя. У меня как у админа естественно возникла проблема как сделать ротацию ее логов по крону, без перезапуска самой программы.Так как логи там после 2ГБ убивают эту прогу в core.&lt;br&gt;если через mv делать то новый файл лога не создается пока не перезапустить программу.&lt;br&gt;при копировании файла и выполнении echo &amp;gt;logfile.log размер файла не уменьшается(изза сброса буфера наверно).&lt;br&gt;&lt;br&gt;Как обнулить файл открытый на запись?&lt;br&gt;Както можно это сделать системными средствами?&lt;br&gt;Если нет, что именно попросить сделать разработчика для организации ротации логов по cron.&lt;br&gt;(чтото самое простое).&lt;br&gt;И как это правильно сделать по феншую?&lt;br&gt;</description>

<item>
    <title>Перенаправления потоков для ротации логов (SergKam)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/87911.html#5</link>
    <pubDate>Wed, 20 Jan 2010 16:50:34 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt;&amp;gt;создает лог перенаправлением своего стандартного вывода в файл.&lt;br&gt;&amp;gt;Всё бы хорошо, но вот я понял что программа сама, внутри себя &lt;br&gt;&amp;gt;перенаправляет stdout в файл. Тогда внешние логгеры обломятся ... &lt;br&gt;&lt;br&gt;+1&lt;br&gt;именно так. там чтото типа freopen(stdin..... и freopen(stderr&lt;br&gt;создают два отдельных файла. &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Перенаправления потоков для ротации логов (Артур)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/87911.html#4</link>
    <pubDate>Wed, 20 Jan 2010 16:45:22 GMT</pubDate>
    <description>Может на то место подсунуть fifo?&lt;br&gt;</description>
</item>

<item>
    <title>Перенаправления потоков для ротации логов (Ы)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/87911.html#3</link>
    <pubDate>Wed, 20 Jan 2010 16:33:55 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt;создает лог перенаправлением своего стандартного вывода в файл.&lt;br&gt;&lt;br&gt;Всё бы хорошо, но вот я понял что программа сама, внутри себя перенаправляет stdout в файл. Тогда внешние логгеры обломятся ...&lt;br&gt;Аффтар! Объясни тщательнее ...&lt;br&gt;&lt;br&gt;&lt;br&gt;А - да! На вопрос как правильно - дык это целая наука :) Я к примеру не люблю когда все что шло на стдаут - уходит в лог. Как по мне для лога нужно свой хандлер открыть. Если надо - могу объяснить почему.&lt;br&gt;</description>
</item>

<item>
    <title>Перенаправления потоков для ротации логов (Pahanivo)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/87911.html#2</link>
    <pubDate>Wed, 20 Jan 2010 15:58:14 GMT</pubDate>
    <description>&amp;gt;&amp;gt;создает лог перенаправлением своего стандартного вывода в файл.&lt;br&gt;&amp;gt;&amp;gt;как сделать ротацию ее логов по крону, без перезапуска самой&lt;br&gt;&amp;gt;&amp;gt;Как обнулить файл открытый на запись?&lt;br&gt;&amp;gt;&amp;gt;Както можно это сделать системными средствами? &lt;br&gt;&amp;gt;Не надо его обнулять. Пусти програму, которая умеет брать со stdin-а, писать &lt;br&gt;&amp;gt;в файл/log _и_ ротировать его по сигналу. На вскидку в голову &lt;br&gt;&amp;gt;приходит логгер из daemontools г-на djb. http://cr.yp.to/daemontools/multilog.html -- см.про SIGALARM. Наверняка &lt;br&gt;&amp;gt;то же самое умеют делать куууча других логгеров-демонизаторов или типа того. &lt;br&gt;&lt;br&gt;я бы не советовал заморачиваться на этот раритет ))&lt;br&gt;у апача есть тулза нето logrotate, нето rotatelog  - приклеивается на stdout&lt;br&gt;а вообще проблема решается парой строчек на перле - нюхаем stdin, считаем кол-во строк, далее ротация если кол-во превысило порог.&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;Если нет, что именно попросить сделать разработчика для организации ротации логов по &lt;br&gt;&amp;gt;&amp;gt;cron. &lt;br&gt;&amp;gt;&amp;gt;(чтото самое простое). &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Ну, как, по сигналу закрывать лог, переименовывать его и создава</description>
</item>

<item>
    <title>Перенаправления потоков для ротации логов (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/87911.html#1</link>
    <pubDate>Wed, 20 Jan 2010 15:39:34 GMT</pubDate>
    <description>&amp;gt;создает лог перенаправлением своего стандартного вывода в файл.&lt;br&gt;&amp;gt;как сделать ротацию ее логов по крону, без перезапуска самой&lt;br&gt;&amp;gt;Как обнулить файл открытый на запись?&lt;br&gt;&amp;gt;Както можно это сделать системными средствами? &lt;br&gt;&lt;br&gt;Не надо его обнулять. Пусти програму, которая умеет брать со stdin-а, писать в файл/log _и_ ротировать его по сигналу. На вскидку в голову приходит логгер из daemontools г-на djb. http://cr.yp.to/daemontools/multilog.html -- см.про SIGALARM. Наверняка то же самое умеют делать куууча других логгеров-демонизаторов или типа того.&lt;br&gt;&lt;br&gt;&amp;gt;Если нет, что именно попросить сделать разработчика для организации ротации логов по &lt;br&gt;&amp;gt;cron. &lt;br&gt;&amp;gt;(чтото самое простое). &lt;br&gt;&lt;br&gt;Ну, как, по сигналу закрывать лог, переименовывать его и создавать новый с тем же именем. Но тогда (если &quot;внутри&quot; програмы) -- со стдин-ом &quot;придётся&quot; расстаться.&lt;br&gt;&lt;br&gt;&amp;gt;И как это правильно сделать по феншую? &lt;br&gt;&lt;br&gt;tvoya_kryutaya_programka &amp;#124; logger&lt;br&gt; +&lt;br&gt;&quot;kill -SIGALARM&quot; или типа того -- в cron-е&lt;br&gt;(+ там же где-то собирать-паковать-обрабатывать &quot;наг</description>
</item>

</channel>
</rss>
