[server]logroate 的使用

本文详细解释了logrotate工具的配置参数,如daily、weekly、monthly周期,rotate次数,错误处理,文件大小触发旋转等。以Nginx日志为例,介绍了如何设置日志切割、权限、脚本执行和维护策略。并提供了调试和启动logrotate的命令指南。
摘要由CSDN通过智能技术生成

lograte 配置参数

daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
rotate 转储次数,超过将会删除最老的那一个
missingok 忽略错误,如 “日志文件无法找到” 的错误提示
dateext 切换后的日志文件会附加上一个短横线和 YYYYMMDD 格式的日期
dateformat  -% Y% m% d% s #配合 dateext 一起使用,修改后缀格式
compress 通过 gzip 压缩转储旧的日志
delaycompress 当前转储的日志文件到下一次转储时才压缩
notifempty 如果日志文件为空,不执行切割
sharedscripts 只为整个日志组运行一次的脚本
prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
size  size 当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省) 以及 KB (sizek) 或者 MB (sizem).

示例

以 nginx 日志为例子

cat /etc/logroate.d/nginx

/data/logs/nginx/*.log {
    su root root   # 切换用户
    daily    #按天执行
    rotate 12  #保留 12 次,超过即删除最老的一次
    missingok #忽略错误
    notifempty  #空日子不切割
    create 0777 root root  #创建的文件授权
    sharedscripts  #所有的日期切换,只执行一次脚本
    postrotate
        /bin/kill -USR1 `cat /usr/local/nginx/logs/nginx.pid  2>/dev/null` 2>/dev/null || true        
    endscript
}

调试

logroate -d /etc/logroate.d/nginx  # 指定配置调试,debug 模式,
logroate -f /etc/logroate.d/nginx  

启动

logrotate /etc/logrotate.conf:重新读取配置文件,并对符合条件的文件文件进行 rotate。
logrotate -d /etc/logrotate.conf:调试模式,输出调试结果,但并不执行。
logrotate -f /etc/logrotate.conf:强制模式,对所有相关文件进行 rotate。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值