logrotate 完整配置解析 配置文件位置 text /etc/logrotate.d/nginx 标准配置模板 bash /var/log/nginx/*.log { daily # 每天轮转一次 missingok # 日志不存在时不报错 rotate 14 # 保留 14 个归档文件 compress # 压缩旧日志(gzip) delaycompress # 延迟压缩,保留最近一个未压缩 notifempty # 空文件不轮转 create 0640 www-data adm # 新文件权限 0640,属主 www-data 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
    # 或者直接用
    # kill -USR1 $(cat /var/run/nginx.pid)
    #nginx -s reopen
endscript

} 参数详解 参数 含义 daily 每天轮转一次 size 1G 达到 1GB 时轮转(替代 daily) rotate 14 保留 14 个归档文件 compress 压缩归档文件(.gz) delaycompress 延迟压缩(最新一个不压缩,方便查看) create 0640 www-data adm 创建新文件时的权限和属主 sharedscripts 所有日志文件只执行一次 postrotate postrotate 核心:轮转后通知 Nginx 重开日志文件

← 返回笔记列表