newsyslog.conf freebsd ежедневные журналы вращаются

Я пытаюсь использовать newsyslog.conf -- newsyslog(8) configuration file поворачивать мой apache/nginx/squid файлы журнала:

# uname -a
FreeBSD X 9.2-RELEASE-p17 FreeBSD 9.2-RELEASE-p17 #0 r282430: Mon May  4 13:59:58 PDT 2015     root@X:/usr/obj/usr/src/sys/R610  amd64
# tail -1 /etc/newsyslog.conf 
<include> /etc/newsyslog-local.conf
# cat /etc/newsyslog-local.conf 
/var/log/httpd-*.log    root:wheel  644 7   *   @T00    JC  /var/run/httpd.pid
/var/log/nginx-*.log    root:wheel  644 7   *   @T00    JC  /var/run/nginx.pid
/var/log/squid/*.log    squid:squid 640 7   *   @T00    JC  /var/run/squid/squid.pid
# newsyslog 
# echo $?
0
# ll /var/log/httpd-* /var/log/nginx-* /var/log/squid/*log*
-rw-r--r--  1 root   wheel   794179378 Jun 10 12:13 /var/log/httpd-access.log
-rw-r--r--  1 root   wheel   236848603 Jun 10 12:09 /var/log/httpd-error.log
-rw-r--r--  1 root   wheel     3513917 Jun 10 12:09 /var/log/httpd-ssl_request.log
-rw-r--r--  1 root   wheel  1789191504 Jun 10 12:13 /var/log/nginx-access.log
-rw-r--r--  1 root   wheel   165855753 Jun 10 12:13 /var/log/nginx-error.log
-rw-r-----  1 squid  squid     5604675 Jun 10 12:01 /var/log/squid/access.log
-rw-r-----  1 squid  squid       12589 Jun 10 10:47 /var/log/squid/cache.log
# 

Что я делаю неправильно?

0
задан 10 June 2015 в 21:28
2 ответа

У Squid есть собственный ротатор логов:

#/etc/crontab
18 4 1 * * root /usr/local/sbin/squid -k rotate

config:

#/usr/local/etc/squid/squid.conf
logfile_rotate 10

Apache следует тщательно ротатировать

#/etc/newsyslog.conf
/var/log/apache/vhosts/*.log 660 5 * $W0D0 CG 
/var/log/apache/tools/*.log  660 5 * $W0D0 CG 
/var/log/apache/*.log        660 5 * $W0D0 CG /var/run/httpd.pid 1

Сначала вы должны повернуть все журналы, связанные с apache, а затем послать сигнал 1 ( SIGHUP) главному процессу httpd, заставляя дескрипторы файлов журналов открываться заново.

0
ответ дан 4 December 2019 в 13:49

Ваша конфигурация должна быть следующей:

/var/log/httpd-*.log    root:wheel  644 7   *   @T00    GBJC  /var/run/httpd.pid 1
/var/log/nginx-*.log    root:wheel  644 7   *   @T00    GBJC  /var/run/nginx.pid 1
/var/log/squid/*.log    squid:squid 640 7   *   @T00    GBJC  /var/run/squid/squid.pid 30
  • Флаг G указывает, что имя вашего лог-файла является шаблоном оболочки.
  • Флаг B указывает новостному журналу не ставить текст Журнал повёрнутый вверх нового лог-файла. Другие значения флага см. в разделе newsyslog.conf(5).

Если вы хотите использовать newsyslog для Squid, необходимо сказать ему, чтобы он не делал свой собственный логротат (SquidLogs FAQ):

# squid.conf
logfile_rotate 0

Вы можете сделать сухой прогон вашей конфигурации с помощью newsyslog -nvF | less.

Мой источник для конфигурирования и команды сухого прогона Squid: "Поворот лога Squid с новостным логом" (запись и комментарии в блоге Jamesoff.net).

.
2
ответ дан 4 December 2019 в 13:49

Теги

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