Обсуждение статьи тематического каталога: Автоматическая ротация logов с помощью logrotate (log rotate linux)Ссылка на текст статьи: http://www.opennet.me/base/sys/logrotate_howto.txt.html
Как избежать перезагрузки httpd? Ведь если юзеров пара сотен, то после обработки каждого лога (допустим сделан общий лог сайтов юзера на аккаунт) делать перезагрузку вебсервера это уж слишком.
>Как избежать перезагрузки httpd? Ведь если юзеров пара сотен, то после обработки
>каждого лога (допустим сделан общий лог сайтов юзера на аккаунт) делать
>перезагрузку вебсервера это уж слишком.Даже не чихнет твоя парасотен. Вот пара тысяч на аджаксе... И тоже не чихнет, кстати.
есть немножко другая апачевская штука: rotatelogs
rotatelogs - rotate Apache logs without having to kill the server
А кто точнее скажет на что смотрит логротейт, когда решает что подошло нужное время для ротейта файла (прошла неделя, месяц) - на время создания файла, модификации (atime, ctime, mtime) или на что-то другое? А если прошло к примеру на 2 часа меньше чем неделя, недельный лог отработает?
Спасибо выяснил почти все что хотел внимательно читая ман. Логротейт использует /var/lib/logrotate[/|.]status (это образный регексп) сохраняя там время последней ротации лога в формате
"/var/log/squid/access.log" 2006-9-20
Т.е. никаких секунд, минут, часов етс.
А /etc/newsyslog.conf уже не прёт?
я вот всё никак не могу понять как мне получить файлы вида - IIS - имя файла соответсвует логам которые в нём.
Можно ли logrotate сказать ротировать логи ровно в 11:59:59 - все последующие записи должны уже находиться в новом файле.
Просто-напросто в директиве postrotate вместо
/usr/bin/killall -HUP httpd
указываем
apachectl graceful && sleep 600
что говорит апачу рестартовать "аккуратно", без обрыва пользовательских сессий, но на это надо время (чтобы юзеры сами прибили свою сессию), потому просим его подождать 10 минут.