我有一个进程需要对不断增长的日志文件进行定期处理.现在,我这样做的方式非常简单(如果你真的很好奇,我会包含bash脚本).
>启动tail -n0 -f $FILE
>每次迭代:
>杀死尾巴
>移动旧样本
>开始新的尾巴
解决方法
通过“移动旧样本”,我假设您的意思是通过移动当前文件并用新文件替换它来旋转文件.
如果是这样,那么你可以使用–follow = name选项代替-f.这遵循文件名而不是文件描述符,即使文件被替换也允许它继续.然后,您可以在更换文件时保持尾部运行,不会错过任何条目.
对于更健壮的方法,还包括–retry,或者简单地使用-F,这意味着–follow = name –retry.
从手册页:
-f,--follow[={name|descriptor}]
output appended data as the file grows;
-f
,--follow
,and--follow=descriptor
are equivalent
– 重试
keep trying to open a file even if it is inaccessible when tail starts or if it becomes inaccessible later – useful only with
-f
-F
same as
--follow=name --retry
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。