gpt4 book ai didi

python - 如何使paramiko-expect中的tail函数超时?

转载 作者:行者123 更新时间:2023-11-28 18:31:46 27 4
gpt4 key购买 nike

我正在使用 paramikoe 的(paramiko-expect)尾部功能通过 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)

最佳答案

我是 paramiko-expect 的作者 :)

不幸的是,目前没有优雅的解决方案,只能使用回调功能引发异常,从而中断尾函数中的死循环。不幸的是,这有一些缺点,因为连接可能无法正常关闭。

我鼓励你在 GitHub 上的 repo 下创建一个问题,我一定会在未来考虑一个很好的解决方案,因为它以前出现过。

参见 Paramiko Expect - Tailing

祝一切顺利
福蒂斯

关于python - 如何使paramiko-expect中的tail函数超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36541494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com