Hi!
Вот хочу автоматом в конце месяца сохранять лог апача за прошедший месяц и создавать новый - но если просто cp, rm, touch - в лог ничего не пишется, рестартуем апач - все начинает писаться. Как сделать пересоздание лога без таких заворотов с рестартом (ну как squid -k rotate)?
Если не получится как я хочу - скажите как кто делает?Удачи!
HAN
>Hi!
>Вот хочу автоматом в конце месяца
>сохранять лог апача за прошедший
>месяц и создавать новый -
>но если просто cp, rm,
>touch - в лог ничего
>не пишется, рестартуем апач -
>все начинает писаться. Как сделать
>пересоздание лога без таких заворотов
>с рестартом (ну как squid
>-k rotate)?
>Если не получится как я хочу
>- скажите как кто делает?
>на кой хрен после cp делать rm открытого файла?
данные в нем надо обнулить послав туда EOFеще лучше установить какой-нить logrotate
или newsyslog:
http://www.weird.com/~woods/projects/newsyslog.html>Удачи!
>HAN
>>Hi!
>>Вот хочу автоматом в конце месяца
>>сохранять лог апача за прошедший
>>месяц и создавать новый -
>>но если просто cp, rm,
>>touch - в лог ничего
>>не пишется, рестартуем апач -
>>все начинает писаться. Как сделать
>>пересоздание лога без таких заворотов
>>с рестартом (ну как squid
>>-k rotate)?
>>Если не получится как я хочу
>>- скажите как кто делает?
>>
>
>на кой хрен после cp делать
>rm открытого файла?
>данные в нем надо обнулить послав
>туда EOF
>
>еще лучше установить какой-нить logrotate
>или newsyslog:
>http://www.weird.com/~woods/projects/newsyslog.html
>
>>Удачи!
>>HAN
Действительно - logrotate - и никаких проблем.
Примерно так:
echo ""> имя_файла
>Примерно так:
>echo ""> имя_файла
Хе Хе
sort [filename] > [filename]
Если надо обнулять на лету.
/usr/ports/sysutils/cronolog
>Hi!
>Вот хочу автоматом в конце месяца
>сохранять лог апача за прошедший
>месяц и создавать новый -
>но если просто cp, rm,
>touch - в лог ничего
>не пишется, рестартуем апач -
>все начинает писаться. Как сделать
>пересоздание лога без таких заворотов
>с рестартом (ну как squid
>-k rotate)?
>Если не получится как я хочу
>- скажите как кто делает?
>
>
>Удачи!
>HANcp /dev/null /var/log/access.log
Насколько помню логротэйт работает так - mv file, при этом дескриптор остается тот же, затем -HUP процессу, тот дергается - типа нет файла и создает его. Можешь свой скрипт написать :)
>Насколько помню логротэйт работает так -
>mv file, при этом дескриптор
>остается тот же, затем -HUP
>процессу, тот дергается - типа
>нет файла и создает его.
>Можешь свой скрипт написать :)
>Не обязательно - можно сказать ему copytruncate, тогда он скопирует текущий файл в новый, а текущий урежет (тем более, что не все программы умеют создавать по HUPу отсутсвующий лог-файл). Вообще logrotate многое может - так зачем же изобретать велосипед ? Ну а для нестандартных задач можно и скрипт написать :)