Ротация логов newsyslog для nginx (FreeBSD)

Рано или поздно логи запросов/ошибок в nginx могут вырасти до неимоверных размеров, тем самым может случиться переполнение дискового пространства и, как следствие - отказ от обслуживания сервиса. Чтобы избежать данной проблемы, необходимо добавить ротацию логов nginx. Для FreeBSD и местного newsyslog это делается единственной строчкой в newsyslog.conf:

# vi /etc/newsyslog.conf
# Nginx logs
/var/log/nginx*log         root:wheel      644  20    5000  *     GZ   /var/run/nginx.pid 30

, где по порядку:

/var/log/nginx*log - логи, которым необходима ротация
root:wheel - необязательный параметр пользователь:группа для архивных файлов
644 - права на архивы и лог-файл
20 - количество хранимых архивов
5000 - размер лог-файла в килобайтах, превышение которого является условием для ротации данного лога
* - когда по времени подвергать ротации данный лог
GZ - метод архивирования лога
/var/run/nginx.pid - расположение pid-файла процесса, который использует данный лог-файл
30 - сигнал, посылаемый процессу, который использует данный лог-файл

После этого можно преждевременно запустить ротацию логов, чтобы убедиться в корректности архивации.

# newsyslog

Не лишнем будет проверить результат (лог-файлы заархивированы и nginx может писать в обнулённый файл-лог). Profit!

nginx/rotacija_logov_newsyslog_v_nginx.txt · Последние изменения: 2014/12/02 04:33 (внешнее изменение)
Наверх
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0