1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import pexpect
import time
import traceback
def doRsync(user,passwd,ip,srcDir,dstDir,timeout = 3600 ):
cmd = "rsync -azPq --delete {srcDir} {rUser}@{rHost}:{dstDir}" . format (
rUser = user,rHost = ip,srcDir = srcDir,dstDir = dstDir
)
try :
ssh = pexpect.spawn(cmd,timeout = timeout)
print cmd
i = ssh.expect([ 'password:' , 'continue connecting (yes/no)?' ], timeout = 5 )
if i = = 0 :
ssh.sendline(passwd)
elif i = = 1 :
ssh.sendline( 'yes' )
ssh.expect( 'password: ' )
ssh.sendline(passwd)
ssh.read()
ssh.close()
except :
|