我有nginx logrotate的配置
/var/log/nginx/*.log {
daily
missingok
rotate 3
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
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
理想情况下,它应该压缩gz中的文件,然后在3天后删除以前的文件,但这里是我的日志文件
-rw-r--r-- 1 www-data www-data 1.4G Dec 10 00:00 2016-12-09-access.log.1
-rw-r----- 1 www-data adm 0 Dec 11 06:33 2016-12-10-access.log
-rw-r--r-- 1 www-data www-data 1.5G Dec 11 00:00 2016-12-10-access.log.1
-rw-r----- 1 www-data adm 0 Dec 12 06:30 2016-12-11-access.log
-rw-r--r-- 1 www-data www-data 1.6G Dec 12 00:00 2016-12-11-access.log.1
-rw-r----- 1 www-data adm 0 Dec 13 06:46 2016-12-12-access.log
-rw-r--r-- 1 www-data www-data 1.4G Dec 13 00:00 2016-12-12-access.log.1
-rw-r----- 1 www-data adm 0 Dec 14 06:25 2016-12-13-access.log
-rw-r--r-- 1 www-data www-data 1.4G Dec 14 00:00 2016-12-13-access.log.1
-rw-r----- 1 www-data adm 0 Dec 15 06:50 2016-12-14-access.log
-rw-r--r-- 1 www-data www-data 1.5G Dec 15 00:00 2016-12-14-access.log.1
-rw-r--r-- 1 www-data www-data 362M Dec 15 07:59 2016-12-15-access.log
-rw-r----- 1 www-data adm 0 Dec 15 06:50 ---access.log
-rw-r----- 1 www-data adm 254 Dec 15 04:53 ---access.log.1
-rw-r----- 1 www-data adm 202 Oct 25 03:58 ---access.log.10.gz
-rw-r----- 1 www-data adm 578 Oct 24 02:30 ---access.log.11.gz
-rw-r----- 1 www-data adm 1.3K Oct 23 06:11 ---access.log.12.gz
-rw-r----- 1 www-data adm 980 Oct 22 05:39 ---access.log.13.gz
-rw-r----- 1 www-data adm 648 Oct 21 05:59 ---access.log.14.gz
-rw-r----- 1 www-data adm 1006 Oct 20 05:45 ---access.log.15.gz
-rw-r----- 1 www-data adm 150 Dec 13 23:03 ---access.log.2.gz
-rw-r----- 1 www-data adm 89 Dec 13 05:46 ---access.log.3.gz
-rw-r----- 1 www-data adm 421 Dec 12 06:23 ---access.log.4.gz
-rw-r----- 1 www-data adm 277 Nov 8 17:16 ---access.log.5.gz
-rw-r----- 1 www-data adm 174 Nov 7 05:52 ---access.log.6.gz
-rw-r----- 1 www-data adm 104 Nov 5 18:42 ---access.log.7.gz
-rw-r----- 1 www-data adm 111 Nov 4 23:43 ---access.log.8.gz
-rw-r----- 1 www-data adm 220 Oct 25 19:36 ---access.log.9.gz
并且logrotate状态为
"/var/log/nginx/2016-12-01-access.log" 2016-12-2
"/var/log/nginx/2016-11-21-access.log" 2016-11-22
"/var/log/nginx/2016-09-16-access.log" 2016-9-17
"/var/log/mail.err" 2016-2-10
"/var/log/nginx/2016-10-06-access.log" 2016-10-7
"/var/log/nginx/2016-09-14-access.log" 2016-9-15
"/var/log/nginx/2016-11-02-access.log" 2016-11-3
"/var/log/nginx/2016-10-04-access.log" 2016-10-5
"/var/log/nginx/2016-10-22-access.log" 2016-10-23
"/var/log/nginx/2016-09-30-access.log" 2016-10-1
"/var/log/landscape/package-reporter.log" 2016-12-15
"/var/log/nginx/2016-10-20-access.log" 2016-10-21
关于最近几天的轮换没有提供太多信息。如何调试配置?
答案 0 :(得分:0)
您可以使用-df参数调试特定脚本:
logrotate -df /etc/logrotate.d/nginx
立即执行(如果需要):
logrotate -f /etc/logrotate.d/nginx
任何配置更新后重新启动logrotate守护程序:
/usr/sbin/logrotate /etc/logrotate.conf
另请阅读man中 delaycompress 配置选项:
将前一个日志文件的压缩推迟到下一个循环 周期。这仅在与压缩组合使用时才有效。它 当某些程序无法被告知关闭其日志文件时,可以使用 因此可能会继续写入前一个日志文件一段时间。