linux 日志管理服务 logrotate

logrotate 是操作系统用来管理日志的工具,支持日志的切割、压缩、清理以及邮件报警等,通过 crontab 服务定时运行,也可以用这个工具来管理我们自己的服务日志,只需要简单配置下配置文件即可

logrotate 配置

helloworld.conf,多份日志可以直接写在一个配置文件里面,也可以分成多个文件 include 进来

/path/to/log/hello.log
/path/to/log/world.err
{
    hourly
    rotate 24
    notifempty
    nocompress
    missingok
    copytruncate
    dateext
    dateformat .%Y%m%d%H
    olddir /path/to/log/bk/
    postrotate
        echo "update to aws s3"
    endscript
}
  • hourly: 日志切割按照小时来切割,logrotate 3.9.0 以后版本才支持,但是其实真正的调度是在 crontab 里面配置的
  • rotate: 保留多少个历史文件
  • notifempty: 如果文件为空,则不切分文件,默认是 ifempty
  • nocompress: 不压缩文件
  • missingok: 忽略文件缺失信息
  • copytruncate: 创建一个日志的拷贝,并且截断老的日志,适合那种一直写一个文件,也不关闭的服务。由于这个阶段的过程会有一小段时间,可能会有数据丢失
  • dateext: 使用日期后缀
  • dateformat: 日期后缀的格式
  • olddir: 备份目录
  • postrotate/endscript: 切割后执行的命令,这个选项非常灵活,可以实现一些强大的功能,比如日志上传,日志分析等等

运行

直接执行 logrotate -f helloworld.conf 可以强制执行切割,测试是否生效

加入到 crontab

上面测试没有问题之后,crontab -e 加入到 crontab 里面即可

59 * * * * /path/to/logrotate /path/to/helloworld.conf >/dev/null 2>&1

参考链接

转载请注明出处
本文链接: http://www.hatlonely.com/2018...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值