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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
在Python中操作列表之List.append()方法的使用
May 20 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
python win32 简单操作方法
May 25 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
使用python实现链表操作
Jan 26 Python
python判断设备是否联网的方法
Jun 29 Python
使用python实现语音文件的特征提取方法
Jan 09 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
python 实用工具状态机transitions
Nov 21 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 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编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
js确定对象类型方法
2012/03/30 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
vue组件jsx语法的具体使用
2018/05/21 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
vue项目中跳转到外部链接的实例讲解
2018/09/20 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
学院领导推荐信
2013/10/30 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
教师党员自我评价范文
2015/03/04 职场文书
李强优秀员工观后感
2015/06/16 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
spring 项目实现限流方法示例
2022/07/15 Java/Android