我编写了一个 python 脚本来跟踪 auth 日志并分析新行。之后,它会根据 auth.log 日志行将输出写入另一个文件。
我将该脚本设置为每次重启后在后台运行。它正常工作了几次。一段时间后,它没有向该文件写入任何内容。但它在后台运行。
这是什么原因呢?
答案1
假设:auth.log
重命名或删除后,它会停止增长。新的auth.log
出现并开始增长。您的脚本会保留在旧文件中。
通常发生这种情况是因为logrotate
或类似机制。
比较GNU 的功能-f
和选项-F
tail
。我猜你的脚本的运行方式有点像tail -f
你所期望的那样tail -F
。
即使您设法实现了其他行为,它也可能不完全可靠,因为这里详细阐述的基本问题:本世纪不要使用logrotate
或newsyslog
。