如何旋转任意命名并放置在深层嵌套目录中的日志?

Rom*_*dan 1 logging logrotate best-practices

我有几个主机,它们基本上是开发人员的游乐场。在这些主机上,他们每个人在 /tmp 下都有一个目录,他可以在那里自由地做他想做的一切——存储文件、写日志等。

当然,日志是要轮换的,否则一周之内磁盘将 100% 满。文件可能很多,但我已经处理过诸如此类的路径/tmp/[a-e]*/*并快乐地生活了一段时间,但是当他们在机器logrotate规则上尝试新的很酷的东西时变得丑陋且难以管理,并且越来越难以理解哪个文件击中了glob。此外,如果要求旋转套接字,logrotate 会出现段错误。

我不想在那种环境中强制执行某些命名策略,我认为这会花费很多时间,并且会让人们感到恼火,并且在某些时候仍然会失败。

而且我仍然需要管理日志,而不仅仅是在晚上管理目录。

那么在这种情况下编写一个脚本来处理这些临时文件是个好主意吗?我更喜欢尽可能坚持使用标准实用程序,但在这里我认为 logrotate 越来越难以管理。

可能有人听说过一些 logrotate 替代方案,它们可以在这样的环境中很好地工作?我不需要电子邮件日志或其他一些高级功能,所以理论上一些评论很好的 find | xargs 会做。

PS 我确实有一个日志聚合器,但是这个东西不会影响我的小可爱的 logstash 机器。

Tim*_*ham 5

在这样的开发环境中,我很喜欢设置一个特定目录,人们需要将他们的日志目录符号链接到该目录中,通常使用强制命名约定,例如“username_branch”或“username-ProductInTesting”,然后我将 logrotate 所有符号链接目录.

有几次人们忘记添加符号链接并且磁盘被填满了,其他开发人员对他们非常生气..所以我摆脱了困境。