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

Интересно что, имеется такой же идентичный конфиг для апача и он работает нормально(хранит 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 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.