本文實例講述了python操作ssh實現服務器日志下載的方法。分享給大家供大家參考。具體實現方法如下:
#coding:utf-8"""  ssh操作例子 實現了服務器日志下載  2012-08-24  yywolf"""import paramikoimport timehostname="????"port=22username="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程序設計有所幫助。
新聞熱點
疑難解答