1
我嘗試設置一個cron作業來rsync遠程文件(包含根級文件)到我的本地服務器,如果我在shell中運行該命令,它的工作原理。但是,如果我在Python運行此,我進入陌生的命令未找到錯誤:在閱讀遠程根級文件時發生Python rsync錯誤
這如果在一個shell中運行它的工作原理:
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
我不認爲你需要rsync的sudo,而這個os.system更直接。 – Anekdotin