首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在目录中自动压缩新创建的文件?

是否可以在目录中自动压缩新创建的文件?
EN

Unix & Linux用户
提问于 2019-02-12 01:21:17
回答 1查看 879关注 0票数 1

上下文

我需要使用一个设计很差的java应用程序,它在运行时记录大量信息。在标准使用情况下,它将每小时创建100 MB的日志。

我不需要历史日志,而且目前看来log旋转式实用程序跟不上它,因为它运行得不够频繁。应用程序是封闭的源,它将自己的日志旋转到36 at左右。

我的Linux发行版是RHEL7。

问题

我想通过压缩和旋转原木来减少浪费的空间。

  1. 由于应用程序已经将日志拆分为新文件,是否可以在目录中自动压缩新创建的文件?
  2. 是否可以自动删除所有文件的格式评估-cli.x.log,其中X是一个数字大于.假设5(即只保存5条最近的日志)。

下面是我尝试的日志旋转文件:

代码语言:javascript
复制
# cat /etc/logrotate.d/cis_assessor
/usr/share/foreman-proxy/Ansible/CIS/audit/Assessor-CLI-4.0.2/logs/assessor-cli.log {
        missingok
        notifempty
        compress
        rotate 5
        size 30M

这个日志旋转作业需要捕获大小在30 be到36 be之间的日志才能实际生效,这可能只是10秒的时间。这就是为什么我要询问的手动路径压缩和删除文件没有日志旋转。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-02-12 01:55:23

由于应用程序已经将日志拆分为新文件,是否可以在目录中自动压缩新创建的文件?

是的,是这样的。只需将新创建的文件作为目标,就可以监视目录中的新文件(喜欢entr)。

因此,您将创建如下日志旋转配置(/etc/logrotate.d/newlogrotateconf)

代码语言:javascript
复制
/usr/share/foreman-proxy/Ansible/CIS/audit/Assessor-CLI-4.0.2/logs/assessor-cli.log {
        missingok
        notifempty
        compress
        rotate 5
}

然后在目录上的一个循环中运行entr,将logrotate绑定到inotify/epoll

代码语言:javascript
复制
echo -n /usr/share/foreman-proxy/Ansible/CIS/audit/Assessor-CLI-4.0.2/logs/
  | ./entr -dnc logrotate --force /etc/logrotate.d/newlogrotateconf
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/500076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档