首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx日志旋转不清理日志

Nginx日志旋转不清理日志
EN

Stack Overflow用户
提问于 2016-12-15 08:08:17
回答 1查看 879关注 0票数 0

我为nginx日志旋转提供了这个配置。

代码语言:javascript
复制
/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天后删除前面的文件,但是下面是我的日志文件

代码语言:javascript
复制
-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

而日志旋转状态是

代码语言:javascript
复制
"/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

对于最近几天的rotation.How,我可以调试配置,但哪方面没有太多的信息?

EN

回答 1

Stack Overflow用户

发布于 2016-12-15 09:27:47

可以使用-df参数调试特定脚本:

代码语言:javascript
复制
logrotate -df /etc/logrotate.d/nginx

并立即执行它(如果需要的话):

代码语言:javascript
复制
logrotate -f /etc/logrotate.d/nginx

请注意,在/etc/logrotate.conf文件中,经常有一些设置适用于所有的日志旋转脚本,因此可能有必要与特定脚本一起运行它:

代码语言:javascript
复制
logrotate /etc/logrotate.conf /etc/logrotate.d/nginx

但是,这个配置文件通常会调用logrotate.d文件夹下的所有脚本,因此您可能希望暂时将该行注释掉,或者创建该文件的副本,用于不包含目录调用的测试:

代码语言:javascript
复制
#include /etc/logrotate.d

还可以了解延迟压缩配置选项在男人中的应用

将前一个日志文件的压缩推迟到下一个旋转周期。这只有在与压缩结合使用时才有效果。当某个程序无法被告知关闭其日志文件,因此可能会在一段时间内继续写入以前的日志文件时,可以使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41159261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档