python操作ssh实现服务器日志下载的方法

yipeiwu_com6年前服务器

本文实例讲述了python操作ssh实现服务器日志下载的方法。分享给大家供大家参考。具体实现方法如下:

#coding:utf-8
"""
  ssh操作例子 实现了服务器日志下载
  2012-08-24
  yywolf
"""
import paramiko
import time
hostname="????"
port=22
username="app"
password="????"
if __name__=="__main__":
#  paramiko.util.log.log_to_file('paramiko.log')
  s = paramiko.SSHClient()
  s.load_system_host_keys()
  s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  s.connect(hostname,port,username,password,timeout=4)
  stdin,stdout,stderr = s.exec_command("sh ~/log/check")
  print stdout.read()
  s.close()
  #sftp
  t = paramiko.Transport((hostname,port))
  t.connect(username=username,password=password)
  sftp = paramiko.SFTPClient.from_transport(t)
  files = sftp.listdir("/home/app/log/")
  for f in files:
    print f
  filetime = time.strftime('%Y-%m-%d',time.localtime(time.time()))
  #需要下载的文件 和下载后的文件名
  sftp.get("/home/app/log/server.txt","C:\\Users\\Administrator\\Desktop\\server.txt")   
  sftp.get("/home/app/log/"+filetime+".log.zip","C:\Users\Administrator\Desktop\\"+filetime+".log.zip")
  #RASkey
  pkey_file = "E:\\yy\\tools\\key\\rsa.txt"
  key = paramiko.RSAKey.from_private_key_file(pkey_file)
  s = paramiko.SSHClient()
  s.load_system_host_keys()
  s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  s.connect(hostname,port,username,pkey=key)
  stdin, stdout, stderr = s.exec_command("ls -l /home/app/log")
  print stdout.read()
  s.close()
  raw_input()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

编写多线程Python服务器 最适合基础

编写多线程Python服务器 最适合基础

编写一个多线程的Python服务器。 多线程Python服务器使用以下主要模块来管理多个客户端连接。 1. Python的线程模块 2. SocketServer的 ThreadingM...

python3发送邮件需要经过代理服务器的示例代码

现象:已知,连接的WIFI网络需要通过代理服务器才能连接外网,按照正常的程序无法发送邮件,而直连一个没有代理的网络【如自己的wifi热点】,可以发送邮件。无法发送邮件的提示是: Time...

Python操作远程服务器 paramiko模块详细介绍

前言 paramiko模块是基于Python实现的SSH远程安全连接,可以提供在远程服务器上执行命令、上传文件到服务器或者从指定服务器下载文件的功能。 paramiko模块安装方法 p...

wamp服务器访问php非常缓慢的解决过程

wamp这两天明显比以前访问要慢很多,重启了下,刚开始还有效,后来重启也没用,就在网上查了下原因,分享给需要的朋友。 可能原因1、apache  access.log文件过大...

php上传图片客户端和服务器端实现方法

本文实例讲述了php上传图片客户端和服务器端实现方法。分享给大家供大家参考。具体如下: 前台表单代码 <form name="form1" method="post" acti...