我将所有应用程序日志记录到 /logs/,其中所有应用程序都有一个单独的目录。我制作了一个自定义 logrotate 文件,如下所示:
/logs/*.log {
daily
missingok
rotate 1
sharedscripts
dateext
}
因此,这将捕获 /logs 中的所有日志文件。但我想将一些目录排除在轮换之外。我能以某种方式排除这些目录吗?在这种情况下,最佳做法是什么?
答案1
这推荐地点日志文件是/var/log
。
您可以进行一些文件通配符和多个文件规范来指定要包含的内容:
/var/log/appone.log
/var/log/app[2-7].log
/var/log/other*.log
{
log options
}
但最好为每个应用程序创建不同的文件并将它们放入其中/etc/logrotate.d
,并且每个文件中只包含一个或两个以某种方式关联的文件规范(例如应用程序或功能/用途)。使用该目录中的现有文件作为模型。
答案2
谨慎使用通配符。如果我是你,我会分别指定每个应用程序的日志文件。
答案3
除了使用邪恶的全局语法之外,我认为没有任何明显的办法。
最好的方式是为每个应用程序切换一个配置文件。