#!/usr/bin/env puthon import pexpect import 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 = fout try: 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 = fout try: child.expect('(?i)password') child.sendline(passwd) child.expect(pexpect.EOF) except EOF: print "expect EOF" except TIMEOUT: print "expect TIMEOUT"
自动打包下载远程文件
原创
©著作权归作者所有:来自51CTO博客作者慕容致杰的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:系统批量运维工具paramiko

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章