>>создает лог перенаправлением своего стандартного вывода в файл.
>>как сделать ротацию ее логов по крону, без перезапуска самой
>>Как обнулить файл открытый на запись?
>>Както можно это сделать системными средствами?
>Не надо его обнулять. Пусти програму, которая умеет брать со stdin-а, писать
>в файл/log _и_ ротировать его по сигналу. На вскидку в голову
>приходит логгер из daemontools г-на djb. http://cr.yp.to/daemontools/multilog.html -- см.про SIGALARM. Наверняка
>то же самое умеют делать куууча других логгеров-демонизаторов или типа того. я бы не советовал заморачиваться на этот раритет ))
у апача есть тулза нето logrotate, нето rotatelog - приклеивается на stdout
а вообще проблема решается парой строчек на перле - нюхаем stdin, считаем кол-во строк, далее ротация если кол-во превысило порог.
>>Если нет, что именно попросить сделать разработчика для организации ротации логов по
>>cron.
>>(чтото самое простое).
>
>Ну, как, по сигналу закрывать лог, переименовывать его и создавать новый с
>тем же именем. Но тогда (если "внутри" програмы) -- со стдин-ом
>"придётся" расстаться.
например в апаче по "kill HUP" просто происходит close-open текущего файла
так гораздо удобнее, пользовательно сам решает че делать с полученным логом, а не разработчик который поленился и сделал какуюнибудь нееудобную шнягу
>>И как это правильно сделать по феншую?
>
>tvoya_kryutaya_programka | logger
> +
>"kill -SIGALARM" или типа того -- в cron-е
>(+ там же где-то собирать-паковать-обрабатывать "награбленное")