7. CentOS 7 日志轮转

1.日志轮转

日志轮转是一种 自动化管理日志文件 的机制,通过定期 重命名、压缩、删除旧日志 文件,避免单个日志文件过大导致磁盘空间耗尽,同时保留历史日志以便排查问题。

2.核心工具:logrotate


Linux 默认使用 logrotate 工具实现日志轮转,其特点如下:
配置文件:主配置位于 /etc/logrotate.conf,子配置存放于 /etc/logrotate.d/(针对不同服务)。
定时任务:通过 cron 每日自动执行(通常位于 /etc/cron.daily/logrotate)。
手动触发:logrotate -f /etc/logrotate.conf 强制立即轮转。

3.简单使用

1.进入 /etc/logrotate.conf 目录,进行新增nginx_error,文件内容为以下内容去掉注释:

/home/nginx/logs/error.log {
    daily                   # 每天轮转一次
    missingok               # 日志不存在时不报错
    rotate 30               # 保留30个历史备份
    compress                # 压缩旧日志(默认gzip)
    delaycompress           # 延迟到下次轮转时压缩最新旧日志
    notifempty              # 空日志不轮转
    create 0640             # 创建新日志文件
    sharedscripts           # 所有日志轮转后执行一次脚本
    dateext                 # 使用日期后缀(默认格式 -%Y%m%d)
    dateformat -%Y-%m-%d    # 自定义日期格式(覆盖dateext默认格式)
    postrotate
        docker exec nginx-with-proxy nginx -s reopen  # 通知容器内的Nginx重新打开日志
        find /home/nginx/logs -name "error.log-*" -exec chmod 640 {} \;  # 手动修复旧日志权限
    endscript
}

2.模拟使用并进行轮转一次

轮转后前一次日志被压缩,按照日期格式生成新的日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值