 
            使用logrotate实现nginx日志分片
logrotate 是 linux 系统自带的一个日志工具,用来对日志文件进行自动轮转、压缩、删除和邮寄等操作
在/etc/logrotate.d/目录下创建 nginx 文件,填入下面内容
/usr/local/nginx/logs/*.log {
    monthly
    missingok
    rotate 12
    compress
    delaycompress
    notifempty
    create 0640 kk wheel
    sharedscripts
    postrotate
        if [ -f /var/run/nginx.pid ]; then
            kill -USR1 `cat /var/run/nginx.pid`
        fi
    endscript
}
- monthly:每月分片一次。daily 则是每天分片 
- rotate 12:保留最近 12 个月的日志文件。如果是 daily,那么这里的 12 则是保留最近 12 天日志 
- compress:使用 gzip 压缩旧日志文件。 
- delaycompress:延迟压缩,直到下一次分片时才压缩。 
- create 0640 kk whell:创建新日志文件时,设置文件权限为 0640,所有者为 kk,组为 wheel(根据实际情况调整)。 
- postrotate:分片后执行的脚本,通知 Nginx 重新打开日志文件。 
测试配置
sudo logrotate -d /etc/logrotate.d/nginx
-d 则表示调试模式,不会真的分片
强制执行一次分片
sudo logrotate -f /etc/logrotate.d/nginx
            本文是原创文章,采用 CC 4.0 BY-SA 协议,完整转载请注明来自 KK元空间
        
     评论
            
                
                隐私政策
            
            
                你无需删除空行,直接评论以获取最佳展示效果
            
        