Здравствуйте, Дугин!
Friday, April 7, 2006, 12:47:52 PM, you 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`
>>>>>>>
>>>>>>> Было бы имхо и удобно и практично.
ДС> структура такая
ДС> /scsi/$user/$domain/%YY%mm%dd-error.log
ДС> /scsi/$user/$domain/%YY%mm%dd-access.log
ДС> При этом кол-во доменов и юзеров в системе меняется в течении дня, то
ДС> есть новый домены добаляются и удаляются так же как и юзера.
ДС> И мне проще было бы в данном случае просто перегружать nginx так чтобы
ДС> он создавал имя файла вида 20060707-access.log - тут даже ни какой
ДС> ротации нет просто хочется чтобы можно было в имя лога переменную
ДС> добавить! По любому в течении суток nginx перегружается каждый раз
ДС> когда появляется/удалется новый домен или юзер. И каждый раз делать
ДС> запросы к базе MySQL (там все хранится) чтобы менять параметры
ДС> logrotate вместо того чтобы перегрузить nginx усложняет задачу
ДС> значительно.
Для того, чтобы лог был доступен по тому же имени, можно делать
symlink, а во время ротации алгоритм такой:
удалить симлинк, переименовать файл, ровно в 0.00 переоткрыть файл,
содать symlink снова.
Для нахождения всех файлов можно использовать
find /scsi -name "nginx-access.log" -depth 3 -print
Важно только если find выполняется достаточно долго, запускать скрипт
и переименовавать чуть заранее, а переоткрывать файлы ровно в 0.00, не допуская
в этот
промежуток появления новых лог-файлов.
Команда /bin/date '+%Y%m%d' поможет переименовывать файлы.
ДС> При этом ведь никто не просит чтобы сам nginx ротарил логи, я сейчас
ДС> сделал временное решение мне приходится генерить в полночь весь
ДС> конфиг nginx, а потом все равно перезапускать nginx -1 pid
ДС> И старый конфиг nginx от нового отличается только тем что имtена логов
ДС> изменилось на новую дату и все! И ведь получается что nginx в данном
ДС> случае не ротарит, поэтому я и прошу добавить переменые типа %YY %mm
ДС> %dd, имхо это не нагрузит nginx, а кому-то (в частности мне) облегчит
ДС> жизнь.
--
С уважением, Вячеслав Кокорин
Системный администратор хостинга PeterHost.Ru
Тел: (812) 34-777-43
(495) 540-56-33
http://www.PeterHost.Ru