Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 包含日志文件的logrotate目录_Linux_Unix_Logrotate - Fatal编程技术网

Linux 包含日志文件的logrotate目录

Linux 包含日志文件的logrotate目录,linux,unix,logrotate,Linux,Unix,Logrotate,我正在寻找一种方法,我可以在一个特定的目录日志旋转所有的日志文件 我当前使用的配置是: /path/to/folder/*.log { daily rotate 5 missingok notifempty maxage 14 compress } 每天-因为我希望它每天都运行 旋转-删除前旋转5个版本 maxage 14-14天后删除实际日志文件 压缩-在旋转时压缩日志文件 我不明白的是,为什么现在的日志文件也被压缩了?我希望至少当前和昨天的日志文件保持不变 我试着使用delaycompre

我正在寻找一种方法,我可以在一个特定的目录日志旋转所有的日志文件

我当前使用的配置是:

/path/to/folder/*.log {
daily
rotate 5
missingok
notifempty
maxage 14
compress
}

每天-因为我希望它每天都运行

旋转-删除前旋转5个版本

maxage 14-14天后删除实际日志文件

压缩-在旋转时压缩日志文件

我不明白的是,为什么现在的日志文件也被压缩了?我希望至少当前和昨天的日志文件保持不变

我试着使用
delaycompress
,但也没用


你能帮我解释一下我做错了什么吗?

添加
delaycompress
会将压缩延迟一圈

你应该有:

  • 正在写入的当前日志文件
  • 前一个未压缩的日志文件(在旋转之前从“当前”日志文件创建)
  • 以前的日志文件已压缩

请注意,
maxage 14
在这里没有真正的用处,因为
rotate
将在5次(每天)旋转后删除日志文件。

您能否详细说明一下当前日志文件和以前未压缩的日志文件?在我的例子中,我每天有几个日志文件,每个文件对于一个进程都是唯一的。这就是为什么我不想压缩它们。另外,谢谢你指出最大值。我意识到它是无效的,因为我已经旋转了5次。根据我的经验,日志轮换规则适用于每个匹配的文件。因此,如果您有“PROC1232.log”,并使用delaycompress对其进行旋转,则会将其重命名为“PROC1232.log.1”,并压缩以前以“PROC1232.log.”开头的日志。如果新进程创建文件“PROC1232.log”,则将创建该文件。如果希望在日志循环时创建文件“PROC1232.log”,则需要添加
create