我正在尝试通过 subprocess & 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)
我试图以多种方式逃避'--rsh="ssh -C -p 22 -i /home/bond/.ssh/test"',但似乎这不是问题。
我收到错误 rsync: Failed to exec ssh -C -p 22 -i /home/bond/.ssh/test: No such file or directory (2)
如果我复制/粘贴当时输出的相同参数,我将正确执行命令。
谢谢。