import pexpect
import sys
ip="192.168.197.128"
user="root"
passwd="1"
target_file="/var/log/mariadb/mariadb.log"
child = pexpect.spawn('/usr/bin/ssh', [user+'@'+ip])
fout = file('mylog.txt', 'w')
child.logfile = fout
try:
child.expect("password:")
child.sendline(passwd)
child.expect('#')
child.sendline('tar -czf /root/mariadb.tar.gz '+target_file)
child.expect('#')
print child.before
child.sendline('exit')
fout.close()
except EOF:
print "except EOF"
except TIMEOUT:
print "except TIMEOUT"
child02 = pexpect.spawn('/usr/bin/scp',[user+'@'+ip+':/root/mariadb.tar.gz','/root/pexpect_dir'])
fout = file('mylog.txt', 'a')
try:
child02.logfile = fout
child02.expect('(?i)password')
child02.sendline(passwd)
child02.expect(pexpect.EOF)
except EOF:
print "except EOF"
except TIMEOUT:
print "except TIMEOUT"
参考:Special EOF and TIMEOUT patterns
输出结果:
参考:
python自动化运维