我正在尝试通过subrocess&popen执行rsync命令.一切都没问题,直到我没有把rsh子命令放在哪里出错.
from subprocess import Popen
args = ['-avz', '--rsh="ssh -C -p 22 -i /home/bond/.ssh/test"', 'bond@localhost:/home/bond/Bureau', '/home/bond/data/user/bond/backups/']
p = Popen(['rsync'] + args, shell=False)
print p.wait()
#just printing generated command:
print ' '.join(['rsync']+args)
Run Code Online (Sandbox Code Playgroud)
我试图在很多方面逃避'--rsh ="ssh -C -p 22 -i /home/bond/.ssh/test"',但似乎这不是问题所在.
我收到错误rsync:无法执行ssh -C -p 22 -i /home/bond/.ssh/test:没有这样的文件或目录(2)
如果我复制/粘贴我当时输出的相同args,我将正确执行该命令.
谢谢.