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() |
欢迎光临 得知互动 (https://bbs.dezhifl.com/) | Powered by Discuz! X3.4 |