ubuntu

Ubuntu日志轮转策略有哪些

小樊
43
2025-11-14 07:39:02
栏目: 智能运维

Ubuntu日志轮转策略全览

一 核心机制与触发条件

二 常用策略与关键参数

策略/参数 作用与说明 典型示例
时间触发 按固定周期轮转 daily / weekly / monthly / yearly
大小触发 文件达到阈值即轮转 size 100M;可与时间条件“或”逻辑组合
保留数量 控制历史副本个数 rotate 7(保留7个旧日志)
压缩归档 节省磁盘空间 compress;配合 delaycompress 常用于 syslog
空文件处理 空日志不轮转 notifempty
缺失文件处理 日志缺失不报错 missingok
新建日志 轮转后创建新文件并设定权限属主 create 0640 root adm
复制后截断 避免重启应用,先复制再清空原文件 copytruncate(适用于不便发信号的应用)
轮转后通知 让进程重新打开日志文件 postrotate … endscript(如向进程发送 HUP/USR1)
日期后缀 以日期命名旧日志,便于追溯 dateext;dateformat -%Y%m%d
共享脚本 多个日志共享同一 postrotate sharedscripts

三 典型配置示例

/var/log/syslog {
    weekly
    rotate 52
    compress
    delaycompress
    missingok
    notifempty
    create 0640 root adm
    postrotate
        /usr/lib/rsyslog/rsyslogd reload > /dev/null
    endscript
}
/var/log/nginx/*.log {
    daily
    size 100M
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 0640 www-data adm
    dateext
    dateformat -%Y%m%d
    sharedscripts
    postrotate
        nginx -s reopen
    endscript
}
/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
    create 0640 root adm
}

四 验证与运维要点

0
看了该问题的人还看了