本文实例讲述了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:UsersAdministratorDesktop\"+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程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2298952.html