千家信息网

自动打包下载远程文件

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,#!/usr/bin/env puthonimport pexpectimport sys#定义目标主机r_ip="IP_ADDRSS"r_user="USERNAME"r_passwd="PASSW
千家信息网最后更新 2025年12月02日自动打包下载远程文件
#!/usr/bin/env puthonimport pexpectimport sys#定义目标主机r_ip="IP_ADDRSS"r_user="USERNAME"r_passwd="PASSWORD"#定义目标主机nginx日志文件target_file="/path/to/nginx_access.log"#运行ssh命令child = pexpect.spawn('/usr/bin/ssh', [r_user+'@'+r_ip])#输入输出写入日志文件fout = file('mylog.txt','w')child.logfile = fouttry:    child.expect('(?i)password')#匹配password字符串,(?i)不区分大小写    child.sendline(r_passwd)    child.expect('#')    child.sendline('tar -czf /path/to/nginx_access.tar.gz '+target_file)#打包日志文件    child.expect('#')    print child.before    child.sendline('exit')    fout.close()except EOF:  #定义异常处理    print "expect EOF"except TIMEOUT: #定义超时处理    print "expect TIMEOUT"child = pexpect.spawn('/usr/bin/scp', [r_user+'@'+r_ip+':/data/nginx_access.tar.gz','/home'])#scp命令拷贝文件fout = file('mylog.txt','a')child.logfile = fouttry:    child.expect('(?i)password')    child.sendline(passwd)    child.expect(pexpect.EOF)except EOF:    print "expect EOF"except TIMEOUT:    print "expect TIMEOUT"


0