我使用定时轮换文件记录器生成了一些日志。这会将日志记录到名为的文件中tool.log
,并在午夜将其移动到tool.log.<date>
并启动新的tool.log
。
我tail -f tool.log
在机器上运行了一个来监视日志,但是在午夜,当tool.log
重命名为时tool.log.<date>
,tail
继续监视重命名的文件。
我希望有一个类似于的工具tail
,但会继续监视名为的文件tool.log
,而不是跟踪inode。
有类似的东西吗?如果没有,我可以用 Python 编写自己的程序来实现这个目的。
答案1
一些实现tail
有这个选项;这里是 GNU tail 手册页中的描述:
-F
与...一样--follow=name --retry
-f
,--follow
[=
{姓名|描述符}]
随着文件的增长输出附加数据;-f
,--follow
和--follow=descriptor
是等效的
--retry
即使文件不可访问,也继续尝试打开它;当按名称跟踪时很有用,即--follow=name
由于 POSIX 未指定此选项,因此您不能在任何地方依赖它。一些已知的实现:
答案2
替代方案就是tail -F
命令。
该-F
选项暗示--follow=name
带有--retry
选项,因此即使文件已被删除并再次创建,tail 也会监视它。
答案3
既然你已经要求选择:
这less
实用程序可以成为的替代品tail -F
。
它必须按如下方式运行:less --follow-name filename.log
然后按Shift+ F。
这将为您带来与 相同的结果tail -F
。
答案4
航航是另一个跟随文件名的奇妙工具。
您还可以将它指向一个目录,它将跟踪该目录中的所有文件,此外还有各种其他简洁的功能。