【发布时间】:2017-11-08 12:32:41
【问题描述】:
我使用以下代码来跟踪 ssh 登录:
def follow(thefile):
thefile.seek(0,2)
while True:
line = thefile.readline()
if not line:
time.sleep(0.1)
continue
yield line
if __name__ == '__main__':
logfile = open('/var/log/auth.log', 'r')
loglines = follow(logfile)
for line in loglines:
print 'do something here'
我注意到这个脚本在几天后突然停止工作。我没有收到任何错误,它没有终止,它只是停止工作,好像readline() 永远不会返回。
所以我执行了一个echo 'test' >> auth.log.1,这确实最终被脚本处理了,因为不久前auth.log被重命名为auth.log.1
如何跟踪此类日志轮换发生的时间并进行相应调整?
【问题讨论】:
-
啊。我很抱歉。我承认在标记之前我没有仔细阅读这个问题。我现在正在责备自己。