tail -f,但是当文件被删除并重新创建时(未附加)

Cal*_*res 13 tail

我正在尝试观察日志文件的任何新输出。另一个脚本(不受我控制)正在删除该文件,然后创建一个具有相同名称的新文件。使用tail -f不起作用,因为文件正在被删除。

Ste*_*itt 29

如果您tail支持它,请使用tail -F,它可以很好地处理消失和重新出现的文件。只要确保您tail从一个将保持原位的目录开始。

-F是短手--follow=name --retrytail会按照文件的名称,而不是文件描述符,当文件无法读取(将重试,例如,因为他们已经被删除)。

(在 coreutils 8.26 中修复了许多与--follow=namewith相关的错误--retry,因此您可能会遇到早期版本的问题;例如,在删除包含尾文件的目录时重试似乎仅适用于 8.26 或更高版本的所有情况。)

  • 附带说明一下,“less”也有一个“--follow-name”选项,其工作方式相同。 (2认同)