我需要处理来自远程目录的日志文件并解析它们的内容。此任务可分为以下几部分:
ssh find
,以确定要处理的文件zgrep
获取这些文件的相关内容步骤1和3非常快,因此我希望改进步骤2。在
文件以gz或明文形式存储,处理它们的顺序非常重要。需要先处理较新的日志,以避免与旧日志不一致。在
为了获取和过滤日志行,我尝试了以下方法:
scp
命令,一个并行线程检查temp文件夹是否已完成下载,直到scp
完成。如果文件已下载,请运行zgrep
,处理并删除该文件。在ssh remote zgrep "regex" file1 file2 file3
,获取结果并进行处理。在方法2是一个更具可读性和优雅的解决方案,但是它也慢得多。使用方法1,我可以在大约1:30分钟内下载和解析280个文件。使用方法2,大约需要5:00分钟。下载过程方法的一个主要问题是,当脚本运行时,目录可能会被更改,这导致代码中需要进行多次检查。在
为了从python运行shell命令,我目前正在使用subprocess.check_output
和{
你能想出改进这个算法的方法吗?在
目前没有回答
相关问题 更多 >
编程相关推荐