LINUX.ORG.RU
ФорумAdmin

Weekly log rotate


0

1

Здравствуйте, помоги разобраться с настройкой ротирования, имею конфигурация:

/var/log/nginx/*.log {
	weekly
	missingok
	rotate 52
	compress
	delaycompress
	notifempty
	create 0640 www-data adm
	sharedscripts
	prerotate
		if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
			run-parts /etc/logrotate.d/httpd-prerotate; \
		fi \
	endscript
	postrotate
		[ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`
	endscript
}

Как я понимаю из описания работы - ротация вызывается каждую неделю, и хранится история за 52 недели. Но почему-то перейдя в папку логов, я вижу, что ротирования происходит почти каждый день:
access.log.2.gz - 2013.12.16 06:25
access.log.3.gz - 2013.12.15 06:25
access.log.4.gz - 2013.12.14 06:25
access.log.5.gz - 2013.12.13 06:25
access.log.6.gz - 2013.12.12 06:25
Почему так происходит?

Ответ на: комментарий от generator

rotating pattern: /var/log/nginx/*.log weekly (52 rotations) empty log files are not rotated, old logs are removed considering log /var/log/nginx/access.log log does not need rotating considering log /var/log/nginx/error.log log does not need rotating not running prerotate script, since no logs will be rotated not running postrotate script, since no logs were rotated

sheo13666
() автор топика
Ответ на: комментарий от AS

Я думаю может строчка:
[ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`
всему виной?(может сбрасывает какие-нибудь счетчики)

sheo13666
() автор топика
Ответ на: комментарий от AS

Интересно что, имеется такой же идентичный конфиг для апача и он работает нормально(хранит 52 недели и бьют все правильно)

sheo13666
() автор топика
Ответ на: комментарий от sheo13666

Логротейт по крону запускается... Может, там какой-то другой конфиг указан у него, не /etc/logrotate.conf ? Шаловливые руки чьи-нибудь...

AS ★★★★★
()
Ответ на: комментарий от AS

/etc/cron.daily/logrotate

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
Содержимое /etc/logrotate.conf
# see «man logrotate» for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp — we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here
В папке /etc/logrotate.conf находится выше приведенный конфиг nginx

sheo13666
() автор топика
Ответ на: комментарий от sheo13666

У меня идеи кончились. Но так не бывает. :-)

AS ★★★★★
()
Ответ на: комментарий от sheo13666

Может быть где-нибудь в недрах конфигурации настроена ротация по размеру файла?

swarnk ★★
()

Предлагаю похачить скрипт, который вызывает logrotate (/etc/cron.daily/logrotate). Сделать вывод в файл в /tmp содержимого каталога /var/log/nginx/ до и после запуска logrotate, а так же вывод в файл сообщений от logrotate (stdout и stderr) и добавить logrotate опцию ″-v″.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.