我Nginx
每天轮换日志(使用dateext
)。旋转后,我想解析刚刚过去的那一天的文件,并编译一封包含 Nginx 服务器返回的错误数的电子邮件。
如何访问logrotate
? 的postrotate / endscript 部分中的输出文件?
lar*_*sks 18
如果您没有使用“sharedscripts”指令,那么您的 postrotate 脚本会收到触发日志轮换的文件,作为 $1。如果您尝试使用具有多个 logrotate 节的通用脚本,这可能会有所帮助。也就是说,给出这样的东西:
/var/log/sample1.log /var/log/sample[23].log {
..config...
}
Run Code Online (Sandbox Code Playgroud)
如果需要轮换任何匹配的文件,您的脚本将被调用,并将 $1 设置为“/var/log/sample1.log”、“/var/log/sample2.log”或“/var/log/sample3.log” “ 作为适当的。然后您可以附加“.1”以查找刚刚旋转的文件。
如果您使用“sharedscripts”选项,那么您的脚本将在 $1 设置为“/var/log/sample1.log /var/log/sample[23].log”(这将帮助您识别特定节但不是确切的文件)。
希望这给你一个开始的地方。请注意,这仅适用于 logrotate > v3.7.5。
如果您正在寻找的话,我不知道您可以使用任何变量。/var/log/somefile.1
然而,在旋转日志之后,您应该根据您为旋转设置的配置(或类似配置)准确地知道文件已旋转到的名称。
如果您描述您想要解决的实际问题,也许会更容易回答?
归档时间: |
|
查看次数: |
9258 次 |
最近记录: |