python查看服务器日志_python实现tail实时查看服务器日志示例

我就废话不多说了,直接上代码吧!

import paramiko

from paramiko_expect import SSHClientInteraction

host = your host

port = your port

username = your un

# 自行修改输出函数

json_list = []

def output_func(msg):

sys.stdout.write(msg)

json_list.append(msg)

sys.stdout.flush()

def conn_tail(path):

try:

client = paramiko.SSHClient()

client.set_missing_host_key_policy(paramiko.AutoAddPolicy)

key_file = "id_rsa_2048"

key = paramiko.RSAKey.from_private_key_file(key_file, "yourpwd")

client.connect(host, port, username, key_filename=key_file)

interact = SSHClientInteraction(client, timeout=10, display=False)

interact.send("sudo su

")

interact.expect(prompt)

interact.send("tail -f %s" % path)

# log_name = path.split("/")[-1].split(".")[0]

# interact.tail(line_prefix=log_name + ": ",output_callback=output_func)

interact.tail( output_callback=output_func)

1.使用了paramiko_expect模块,安装方式

# from pypi

pip install paramiko-expect

# from source

pip install git+https://github.com/fgimian/paramiko-expect.git

2.采用id_rsa密钥方式登录

3.由于公司服务器需要切换账号,所以需要先执行sudo xxx操作

4.如果需要同时tail几个日志,可以开多线程

5.如果需要自己对服务器的日志进行处理,而非简单的控制台展示,则需要自行修改output_callback函数

以上这篇python实现tail实时查看服务器日志示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。