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求众数问题实例
Sep 26 Python
Python解析最简单的验证码
Jan 07 Python
Python 实现随机数详解及实例代码
Apr 15 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
浅谈Django+Gunicorn+Nginx部署之路
Sep 11 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
Python timer定时器两种常用方法解析
Jan 20 Python
写一个Python脚本自动爬取Bilibili小视频
Apr 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
angular json对象push到数组中的方法
2018/02/27 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
详解JS预解析原理
2020/06/16 Javascript
nodejs中内置模块fs,path常见的用法说明
2020/11/07 NodeJs
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
优秀实习自我鉴定
2013/12/04 职场文书
餐饮管理自我介绍信
2014/01/15 职场文书
新闻学专业求职信
2014/07/28 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
师德师风事迹材料
2014/12/20 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
SQL Server中锁的用法
2022/05/20 SQL Server