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使用chardet判断字符串编码的方法
Mar 13 Python
python实现清屏的方法
Apr 30 Python
Python3使用requests发闪存的方法
May 11 Python
Python实现的异步代理爬虫及代理池
Mar 17 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
在jupyter notebook中调用.ipynb文件方式
Apr 14 Python
python如何处理程序无法打开
Jun 16 Python
Python爬虫获取豆瓣电影并写入excel
Jul 31 Python
django上传文件的三种方式
Apr 29 Python
Python打包exe时各种异常处理方案总结
May 18 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 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的FTP学习(四)
2006/10/09 PHP
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
php实现简单加入购物车功能
2017/03/07 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
发现的以前不知道的函数
2006/09/19 Javascript
jQuery使用手册之 事件处理
2007/03/24 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
python与mysql数据库交互的实现
2020/01/06 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
python绘制趋势图的示例
2020/09/17 Python
用python制作个音乐下载器
2021/01/30 Python
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
JSF界面控制层技术
2013/06/17 面试题
公益活动策划方案
2014/01/09 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
「月刊Action」2022年5月号封面公开
2022/03/21 日漫