Я разрабатываю программу резервного копирования python, один из модулей создает резервную копию удаленной папки rsyn c на моем локальном устройстве.
Это часть кода, в которой у меня есть проблема:
try:
process = subprocess.Popen(
['sshpass',
'-p',
password,
'rsync',
'-avz',
'-e',
'ssh -o StrictHostKeyChecking=no',
'-p',
port,
'{}@{}:{}'.format(user, host, folder),
dest_folder],
stdout=subprocess.PIPE
)
output = process.communicate()[0]
if int(process.returncode) != 0:
print('Command failed. Return code : {}'.format(process.returncode))
exit(1)
return output
except Exception as e:
print(e)
exit(1)
Показанная ошибка:
Unexpected remote arg: debian@12.345.67.89:/folder1/folder2/
rsync error: syntax or usage error (code 1) at main.c(1372) [sender=3.1.3]
Command failed. Return code : 1
Я считаю, что проблема с массивом в Popen. Если я успешно выполню одну команду в bash I rsyn c.
Что я должен изменить в массиве subprocess.Popen?