-
博文分类专栏
- Jquery基础教程
-
- 文章:(15)篇
- 阅读:46549
- shell命令
-
- 文章:(42)篇
- 阅读:154227
- Git教程
-
- 文章:(36)篇
- 阅读:234843
- leetCode刷题
-
- 文章:(76)篇
- 阅读:131787
-
通过logrotate管理linux日志文件2018-07-02 09:36 阅读(3541) 评论(0)
一、什么是logrotate
logrotate是一个可以自动对日志进行截断(或轮循)、压缩以及删除的日志自动化管理工具。它是基于cron的,可以在/etc/cron.daily/目录下面看到,如下:
可以看出logrotate全局配置文件为 /etc/logrotate.conf。这个配置文件一般不会轻易改动,我们往往在/etc/logrotate.d目录里放置自己的配置文件,用来覆盖Logrotate的全局配置。
配置文件简介
/etc/logrotate.d/下面很多logrotate配置文件,下面我以自己创建的一个dq_test为例,说说其中的含义,常见如下:
/data/log/file { daily rotate 3 compress olddir archive delaycompress dateext notifempty missingok }
参数的含义:
weekly: 日志文件将按周轮循。其它可用值为‘daily’,‘weekly’或者‘yearly’。
rotate 3: 日志转存的次数
compress: 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。
delaycompress: 延迟压缩,即指示logrotate不要将最近的归档压缩,压缩将在下一次轮循周期进行。
olddir: 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
missingok: 在日志轮循期间,任何错误将被忽略
notifempty: 如果日志文件为空,轮循不会进行。
create 644 root root: 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。
postrotate/endscript: 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。
二、安装
logrotate安装比较简单,
CentOS或RHEL上:
yum install logrotate crontabs
三、使用案例
1、对日志进行归档处理
/data/log/test.*.log { compress delaycompress missingok notifempty daily rotate 7 size 10M olddir /tmp dateext create 0644 root root }