NGINX и вращение журнала: действительно ли недостающие записи в журнале возможны?

В он - самая простая реализация, можно реализовать вращение журнала NGINX как следующее:

mv access.log access.log.0
kill -USR1 `cat master.nginx.pid`

Мой вопрос. У нас есть проблема параллелизма здесь? Я имею в виду, если NGINX пишет запись в журнале между двумя действиями (1) файл был переименован и (2) это заставило команду перезагружать, некоторые записи в журнале могли быть просто потеряны?

2
задан 13 July 2015 в 13:37
1 ответ

Перед отправкой сигнала USR1 подождите 15 секунд, и вы увидите, что * access.log.0 "все еще используется. Это происходит из-за того, что журнал открыт для записи на основе inode, а не имя файла. Таким образом, этот метод безопасен для одновременного использования: mv + USR1

3
ответ дан 3 December 2019 в 10:42

Теги

Похожие вопросы