解析telnet / ssh会话的输出

时间:2014-07-14 20:23:42

标签: python parsing ssh telnet

我打算写一个脚本来解析很多日志文件,这些文件都在远程服务器上,所以我的脚本必须telnet / ssh到这些远程服务器才能发出一些命令/ CLI来获取数据。它会有很多数据,所以我想从你的经验中知道这样做的最佳选择是什么?是将命令输出下载到本地文件然后进行解析吗?或者在线进行?是什么让一个选项比其他选项更好?除占用磁盘空间外。

谢谢, 金

1 个答案:

答案 0 :(得分:0)

我认为您可能无法在解析器程序中编写数据检索过程,让您可以自由使用像cat一样的unix工具来连接,在连接时使用zcat到gunzip,使用ssh来触摸远程服务器,甚至grep,awk等...解析本地文件,如测试文件等......

ssh example.com cat file | ./parse.py -

优点:

  • 你没有硬编码"方式"数据已下载。
  • 您不在本地存储文件。
  • 您可以在不更改代码的情况下改变主意
  • ArgumentParser可以在给出" - "时打开标准输入。作为文件名。
  • 您可以解析gzip压缩日志:ssh example.com zcat file.gz | ./parse.py -
  • 或连接多个日志:ssh example.com zcat logfile-2014-06 - * .gz | ./parse.py -
  • 在传输前通过过滤释放一些带宽:ssh example.com zgrep -v useless logfile-2014-06 - * .gz | ./parse.py -
  • 依旧......