【发布时间】:2016-08-01 04:33:47
【问题描述】:
我正在使用 paramikoe 的(paramiko-expect)tail 功能通过 python2.7 中的 ssh 跟踪远程日志文件。但我希望它在指定时间(如 12 小时左右)后停止。我不想使用 Ctrl+C。有没有办法给它添加超时?
目的是监视包含远程系统中发生的错误的日志文件。将发送一封邮件,其中包含日志文件中的错误行。它应该只监视指定的给定时间。
非常欢迎任何其他替代方法!
提前致谢!
这是它的代码:
import paramiko
from paramikoe import SSHClientInteraction
def print_me(line_prefix, current_line):
if not current_line == '':
a = current_line
print a
#SEND MAIL CODE HERE
return current_line
hostname = '1.1.1.1'
username = 'root'
password = 'abcd'
prompt = '.*=# '
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=hostname, username=username, password=password)
interact = SSHClientInteraction(client,timeout=10,display=False)
interact.send('tail -f /usr/elog/elog | grep -i --line-buffered severity')
interact.tail(line_prefix = hostname+': ' , callback = print_me)
【问题讨论】:
标签: python timeout expect paramiko tail