前言:
今天大家对“python注册登录程序”可能比较注意,咱们都想要分析一些“python注册登录程序”的相关知识。那么小编也在网上汇集了一些关于“python注册登录程序””的相关内容,希望兄弟们能喜欢,各位老铁们快快来学习一下吧!需求:
测试工程师 提交bug时,需要附上日志文件,但linux系统(阉割版)没有直接取日志的功能,而且日志文件存在多个,手动搭建环境取日志费时费力,为了提高取日志的效率可使用python完成进行自动化取日志功能
代码:
import paramikoclass LogExport(object): def __init__(self,ip,username,password,local): self.ip = ip self.username = username self.password = password self.local = local def compress(self): ssh = paramiko.SSHClient() # 实例化SSH客户端 policy = paramiko.AutoAddPolicy() # 创建默认的白名单 ssh.set_missing_host_key_policy(policy) # 设置白名单 ssh.connect(hostname=self.ip,port=22,username=self.username,password=self.password) i=0 while i < 3: stdin,stdout,stderr = ssh.exec_command("tar -zcvf /test/log.tar.gz /test/log") print("日志压缩中,请等待。。。") #print(stdout.read().decode("utf-8")) #压缩结果展示 stdin,stdout,stderr = ssh.exec_command("ls /test") result1 = str(stdout.read().decode()) result2 = "log.tar.gz" if result2 in result1: #判端日志压缩包是否打包成功 ssh.close() print("日志压缩完成,即将导出。。。") # return "success" self.export() #存在即导出 break else: # return "false" i = i+1 if i == 3: print('日志压缩失败') def export(self): scp = paramiko.Transport((self.ip,22)) scp.connect(username=self.username,password=self.password) sfcp = paramiko.SFTPClient.from_transport(scp) remote_path = "/test/log.tar.gz" #导出原地址 local_path = self.local sfcp.get(remote_path,local_path) scp.close() print("日志导出完成") self.delete() #设备中删除压缩文件 def delete(self): ssh = paramiko.SSHClient() policy = paramiko.AutoAddPolicy() ssh.set_missing_host_key_policy(policy) ssh.connect(hostname=self.ip,port=22,username=self.username,password=self.password) stdin,stdout,stderr = ssh.exec_command("ls /test") result3 = str(stdout.read().decode("utf-8")) result4 = "log.tar.gz" if result4 in result3: stdin,stdout,stderr = ssh.exec_command("rm -rf /test/log.tar.gz") else: print("日志压缩文件不存在")if __name__ == "__main__": ip = "192.168.x.x" username = "ssh账号" password = "ssh密码" local = "D:\\Log\\log.tar.gz" #导出目标地址 start = LogExport(ip,username,password,local) start.compress() print ("日志导出地址:",local)
执行:
测试结果:
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #python注册登录程序