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使用Flask框架获取用户IP地址的方法
Mar 21 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
python实现批量改文件名称的方法
May 25 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
Python多图片合并PDF的方法
Jan 03 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
Python LMDB库的使用示例
Feb 14 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 创建标签云函数代码
2010/05/26 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
Python正则表达式匹配HTML页面编码
2015/04/08 Python
Python代码调试的几种方法总结
2015/04/15 Python
浅谈Python的文件类型
2016/05/30 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
Python中return self的用法详解
2018/07/27 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
django 取消csrf限制的实例
2020/03/13 Python
python利用opencv保存、播放视频
2020/11/02 Python
python RSA加密的示例
2020/12/09 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
培训专员岗位职责
2014/02/26 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书