【发布时间】:2013-09-12 11:40:05
【问题描述】:
我正在频繁地分析日志文件的数据并进行相应的处理。作为输入的日志文件是一个无限增长的文件。一个长时间运行的进程写入它,它属于 root 用户。
我拥有日志文件的所有文件权限。我想要做的是只移动文件内容直到那个点(获取文件内容并清除文件)而不干扰另一个进程。最好通过python脚本。
[编辑] (即)。,我需要从日志文件(主)中剪切并粘贴所有内容,直到那个时间点,然后将它们放入另一个(辅助)日志文件中。我将使用此辅助日志文件进行数据分析。同时,如果长时间运行的进程将任何内容写入主日志文件,它不应该丢失。如果我将新数据与其他内容一起带到辅助日志文件中,这不会有问题。
[编辑 2] 我面临的主要问题是从主日志文件中获取文件内容后清除它们。我需要确保在读取主日志并将它们写入辅助日志并从文件中删除这些内容时,写入文件的任何日志都不会丢失。
我查看了 TimedRotatingFileHandler 但在这方面对我没有帮助。还有其他建议吗?
谢谢
【问题讨论】:
-
第二段能不能说清楚一点。
-
我进行了更新以更好地解释 :-) 还有更多说明吗?
-
为什么不将一个日志文件的输出通过管道传输到另一个日志文件。这是一个简单的linux命令。然后使用第二个日志文件进行任何进一步的处理。
-
你的意思是取日志文件的内容?在这种情况下,我必须清除从主文件中获取的内容,以便它们将来不会用于数据分析。可以用shell脚本完成吗?
标签: python logging cron file-handling concurrentmodification