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


Posted in Python onDecember 24, 2019

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

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\n')
    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实时查看服务器日志示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中enumerate函数用法实例分析
May 20 Python
Python中的with...as用法介绍
May 28 Python
Python模拟登陆实现代码
Jun 14 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Python中的TCP socket写法示例
May 11 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
python实现kNN算法识别手写体数字的示例代码
Aug 16 Python
Python发送手机动态验证码代码实例
Feb 28 Python
PyQt5实现简单的计算器
May 30 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 #Python
python中return的返回和执行实例
Dec 24 #Python
Python文件操作函数用法实例详解
Dec 24 #Python
Python的形参和实参使用方式
Dec 24 #Python
python接口自动化如何封装获取常量的类
Dec 24 #Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 #Python
Python 限定函数参数的类型及默认值方式
Dec 24 #Python
You might like
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
理解Javascript_03_javascript全局观
2010/10/11 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
python转换摩斯密码示例
2014/02/16 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
高中毕业的自我鉴定
2013/12/09 职场文书
社区消防工作实施方案
2014/03/21 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
大学毕业生个人总结
2015/02/28 职场文书
党员个人自我评价
2015/03/03 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技