本文實例講述了python操作ssh實現服務器日志下載的方法。分享給大家供大家參考。具體實現方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#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程序設計有所幫助。