Я пытаюсь настроить задание cron на удаленные файлы rsync (содержащие файлы на корневом уровне) на моем локальном сервере, если я запустил команду в оболочке, она работает. Но если я запускаю это в Python, я попал в странную команду не найдена ошибка:Ошибка Python rsync при чтении файлов удаленного корневого уровня
Это работает, если запустить его в оболочке:
rsync -ave ssh --rsync-path='sudo rsync' --delete [email protected]:/tmp/test2 ./test
Но это Python скрипт не делает:
#!/usr/bin/python
from subprocess import call
....
for src_dir in backup_list:
call(["rsync", "-ave", "ssh", "--rsync-path='sudo rsync'", "--delete", src_host+src_dir, dst_dir])
Он терпит неудачу с:
local server:$ backup.py
bash: sudo rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: remote command not found (code 127) at io.c(226) [Receiver=3.1.0]
...
Можете ли вы установить его на переменную и распечатать вывод – Anekdotin
как установить переменную? Я не уверен, что вы имеете в виду – kengcc
Я не думаю, что вам понадобится sudo для rsync, и эта os.system более проста. – Anekdotin