排除文件/目录 logrotate

排除文件/目录 logrotate

我将所有应用程序日志记录到 /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

除了使用邪恶的全局语法之外,我认为没有任何明显的办法。

最好的方式是为每个应用程序切换一个配置文件。

答案4

您可以使用通配符来执行此操作:http://manpages.ubuntu.com/manpages/jaunty/en/man7/glob.7.html

相关内容