Linux下配置滚动日志之logrotate
日志是个好东西,便于定位历史问题,但记录太多,不滚动,不除旧总暴盘的时候。如果是用日志框架输出的日志,像 Log4j 或 Logback 通过选择具有滚动特性的 Appender 就能实现日志的滚动,并删除旧的归档日志文件。但也有在程序当中难以控制的日志输出文件,这用的话必须采取事后补救措施,程序尽管往一个日志文件里写,由另一个程序来对该日志文件进行归档,清理操作。
与此相关的工具,我们可以找到以下几个
- logrotate, 如今的多数 Linux 发布版都自带了,感觉有一种主场优势。github 上 logrotate/logrotate 仍活跃着
- newsyslog, FreeBSD 和 Mac 系统自带,应该不常用。Mac OS 下可以看下配置文件
/etc/newsyslog.conf
- cronolog, 原本的官网 www.cronolog.org 全是日文了,找到它的快照 fleible web log rotation, github 上 fordmason/cronolog 最近更新是五年前
- rotatelogs, 出自于 Apache HTTP 项目, Apache HTTP server 用它滚动访问和错误日志
本人最为推崇使用第一个工具 logrotate
, 因为多数 Linux 系统自带,不像 cronolog 和 rotatelogs 需要额外安装。它也有着更完备的功能,下面慢慢领略
logrotate 的工作机制
Linux 下默认有一个每日执行的 Cron Job,配置在 /etc/cron.daily/logrotate
,文件内容为(以 centos7 为例) 阅读全文 >>
以上是 Linux下配置滚动日志之logrotate 的全部内容, 来源链接: utcz.com/z/514791.html