logrotate日志压缩配置

发布时间 2024-01-01 20:09:16作者: 王景迁

默认Linux自带了logrotate和crontabs。

配置logrotate日志压缩

设置定时压缩时间

# 每小时第10分钟执行一次压缩
vim /etc/crontab
追加
10 * * * * /usr/sbin/logrotate /etc/logrotate.d/test_logrotate.conf

配置转储策略

vim /etc/logrotate.d/test_logrotate.conf

/root/*.log {
    # 最多保留5个转储日志
    rotate 5
    # 日志文件空时不执行轮询
    notifempty
    # 日志文件达到10M后转储
    size 10M
    # 启用基于日期的后缀,不支持分,%H表示小时,%s表示自1970/1/1以来的秒数
    dateext
    dateformat -%Y%m%d%H
    # 日志转储并截断
    copytruncate
    # 日志文件不存在不报错
    missingok
    # 转储时压缩
    compress
}

手动执行压缩任务

logrotate /etc/logrotate.d/test_logrotate.conf
1G文件压缩到了1M左右。