Здравствуйте, Igor.
Вы писали 7 апреля 2006 г., 11:04:09:
On Fri, 7 Apr 2006, Дугин Сергей wrote:
On Fri, 7 Apr 2006, [windows-1251] Дугин Сергей wrote:
Можно ли добавить новые переменные по аналогии как в
http://sysoev.ru/nginx/docs/syntax.html
%yy %mm %dd %hh %mm %ss
Тогда можно было бы сделать так:
access_log /home/user/logs/%yy%mm%dd-access.log main;
И ровно в полночь делать
kill -1 `cat /usr/local/nginx/logs/nginx.pid`
Было бы имхо и удобно и практично.
Нет, nginx имеет необходимый и достаточный уровень поддержки ротации логов:
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
Всё остальное - работа для внешних скриптов.
Не хотлось бы просто внешними скриптами переименовывать порядка
несколько тысяч логов, проще перезапустить nginx чтобы он начал писать
лог с новым именем.
А что такого в переименовывании тысяч логов скриптом ?
Это же машина делает - она железная. Она сделает это за прау секунд.
Ну давайте начнем с того что сервер сам по сбее нагружен сильно, затем
ровно в полночь и так запускается много чего, затем если учесть что не
все знают Си, то например с помощью перла (или того же mv) делается
все уже не пару секунд, а дольше как результат часть записей новых
суток попадает в лог от прошедших суток.
Зачем знать Си или перл для того, чтобы крутить логи ? Этих крутилок
уже написано десяток. Основное время в переименовывании файлов уходит
не на перл или Си, а на системные вызовы. nginx их сделает с той же
скоростью и у него будет такой же лаг, как у прочих.
Игорь Сысоев
http://sysoev.ru