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数据结构之二叉树的建立实例
Apr 29 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
python进阶教程之异常处理
Aug 30 Python
python中base64加密解密方法实例分析
May 16 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
使用python为mysql实现restful接口
Jan 05 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
Python爬虫之爬取最新更新的小说网站
May 06 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 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
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
js+canvas实现验证码功能
2020/09/21 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
python中安装模块包版本冲突问题的解决
2017/05/02 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
Python玩转Excel的读写改实例
2019/02/22 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
python logging日志模块原理及操作解析
2019/10/12 Python
python+OpenCV实现图像拼接
2020/03/05 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
班主任师德师风自我剖析材料
2014/10/02 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
2016七夕情人节感言
2015/12/09 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript