是否可以将新创建的文件自动压缩到目录中

隐秘

语境

我需要使用设计欠佳的Java应用程序,该应用程序在运行时会记录很多信息。在标准用法下,它将每小时创建100 MB的日志。

我不需要历史日志,目前看来logrotate实用程序无法跟上它的步伐,因为它运行得不够频繁。该应用程序是封闭源代码,并将其自己的日志旋转到大约36MB。

我的Linux发行版是RHEL7。

问题

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

  1. 由于该应用程序已将日志拆分成新文件,是否可以自动压缩目录中的新创建文件?
  2. 是否可以自动删除所有格式的评估器-cli.X.log文件,其中X是大于...的数字,比如说5(即仅保留5个最新日志)。

这是我尝试的logrotate文件:

# 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

此logrotate作业需要捕获30MB和36MB之间的日志才能真正生效,这可能只有10秒的时间。这就是为什么我要问没有logrotate的压缩和删除文件的手动路径。

埃文·卡洛尔(Evan Carroll)

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

是的。只需使用可以监视目录中新文件的内容(例如entr定位新创建的文件

因此,您将像这样创建一个logrotate配置(/etc/logrotate.d/newlogrotateconf

/usr/share/foreman-proxy/Ansible/CIS/audit/Assessor-CLI-4.0.2/logs/assessor-cli.log {
        missingok
        notifempty
        compress
        rotate 5
}

然后,您将entr在目录中循环运行以绑定logrotateinotify/ epoll

echo -n /usr/share/foreman-proxy/Ansible/CIS/audit/Assessor-CLI-4.0.2/logs/
  | ./entr -dnc logrotate --force /etc/logrotate.d/newlogrotateconf

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以将文档解压缩到在单个命令中动态创建的目录中?

是否可以忽略git中的文件重新创建?

是否可以重新创建.meteor目录?

是否可以仅将已更改的文件将更改的文件压缩到单独的存档中

Python:将文件移动到新创建的目录

如何在OS X上使用curl将文件下载到新创建的目录中?

是否可以在不删除原始gz文件的情况下将多个文件压缩到特定目录?

IntelliJ 2020是否可以将“ Callable” lambda函数提取到新创建的类中?

给定原始未压缩的文件,我可以准确地重新创建gzip文件吗?

将tar.gz文件解压缩到目录并创建目录(如果不存在)

在Linux目录中为新创建的文件和子目录设置默认权限?

如何自动获得对新创建目录的写访问权?

将单个文件中的多个文件解压缩到不同目录

从新创建的文件中读取

使用python将目录压缩到内存中的tar.gz文件中

尝试在新创建的目录中创建文件时转到“权限被拒绝”?

有没有一种快速的方法可以从Jar / war中删除文件而无需解压缩jar并重新创建它?

将tar解压缩到目录中,删除压缩文件中不包含的任何文件

将所有tar.bz2文件解压缩到目录中

如何将 .zip 文件解压缩到 lambda 函数中的目录

dart:是否可以缓存或重新创建在重复函数中创建的对象?

将文件解压缩到目标目录?

将文件解压缩到新目录

将许多文件解压缩到给定目录

将许多文件解压缩到给定目录

如何将文件解压缩到当前目录?

如何将文件压缩到特定目录

CouchDB 2.2中的自动压缩

如何在特定目录中列出所有新创建的文件?