清理CentOS中自动汇报错误工具(ABRT)产生的CCPP日志

Posted on

在CentOS和RedHat操作系统中,有一个名为“自动汇报错误工具”(Automatic Bug Reporting Tool,简称ABRT)的系统服务。该服务是一个系统层的debug工具,可以为应用提供错误日志检测与分析。一旦该服务检测到应用问题,便会在指定路径创建一个以ccpp-Timestamp-ProcessUID格式命名的文件夹,并将相关dump日志放置于其中。

默认的ABRT日志存放路径为:

  • CentOS 6.x:/var/spool/abrt
  • CentOS 7.x:/var/tmp/abrt

由于默认ABRT产生的日志文件不会自动清理,而一般/var挂载点分配的文件系统空间也不会很大,很容易导致该目录被日志填满,此时就需要手动清理。

清理方式

1. 先停止ABRT相关服务:

$ systemctl stop abrtd
$ systemctl stop abrt-oops

2. 通过abrt-cli删除所有产生的日志目录:

$ abrt-cli rm /var/spool/abrt/ccpp-*

3. 启动ABRT相关服务:

$ systemctl start abrtd
$ systemctl start abrt-oops

配置优化

如果不想完全关闭ABRT服务,但同时希望减少日志产生的大小,可以通过调整/etc/abrt/abrt.conf配置文件解决。

#限制ABRT日志总空间占用,以MB为单位。超过限制则自动删除旧日志
MaxCrashReportsSize = 256

#是否记录非应用包中的执行指令的错误信息
ProcessUnpackaged = no

#是否在dump中包含完整的二进制镜像信息
SaveBinaryImage = no

END