对于logrotate
d 文件,通常使用tail -F
而不是tail -f
跟随日志文件内容。做multitail(1)
自动遵循名称而不是索引节点(这可能会随着日志轮换而变化)?
我仔细阅读了文档并在网上进行了搜索,但无法得出结论性的答案。
感谢接受的答案,我发现该man
页面确实提到了我想要的选项,但使用术语“描述符”而不是“索引节点”。因此,这个问题和答案应该成为下一个研究该主题的人的粘合剂。
-f Follow the following filename, not the descriptor.
--follow-all
For all files after this switch: follow the following filename, not the descriptor.
答案1
根据multitail
手动的:
There are a few other options not fitting elsewhere, these are:
-f This makes MultiTail follow the file. In case the original file gets
renamed and a new file is created with the original filename, MultiTail
will start watching the file with the original filename (the one you
entered).
对我来说,这意味着默认情况下它遵循inode
/文件描述符而不是文件名。
粗略地阅读一下来源就证实了这一点;在exec.c:79
,follow_filename
var(设置在cmdline.c:889
或者ui.c:966
) 定义是否将后跟文件名标志(-F
、--follow=name
等)传递给tail
.