python如何操作rsync
PHP中文网
PHP中文网 2017-04-17 17:29:19
0
2
508

rt
没找到相关模块

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
迷茫

有幾種可選的解決方案,可以根據實際情況(運行平台,應用需求)進行取捨。

方案一、用python封裝對本地rsync程式的呼叫
設若需求比較簡單,且運行平台上有rsync的本地程式可用,可以使用subprocess模組封裝對rsync的呼叫指令(也可以使用os模組進行封裝,原理上是一樣的),例如:

cmd = "rsync -avrz /opt/data/filename root@ip:/opt/data/file"
subprocess.call(cmd, shell=True)

這種方案的優點是實作簡單,不容易有bug。缺點是如果你在Windows平台上運行,就比較麻煩,需要安裝本地的rsync程序,例如透過cygwin進行安裝之類。

方案二、python對rsync協議的實現:
在Bitbucket上Vivian De Smedt提供了一個針對rsync的python實現,體積很小只有15KB。
https://bitbucket.org/vds2212/rsync.py

這種做法的優點是平台無關,只要是運行python的平台都能用。但由於這是個人的實現,所以可能會有bug,會與標準rsync不相容,需要花時間學習腳本的使用方式等等問題。

如果目的只是希望在Linux平台上,在python腳本中調用rsync完成一個自動化的日常維護任務,那麼推薦第一種方案。

Peter_Zhu

呵呵,沒有搜尋相關模組....
只搜尋pypi能找到好幾個.
https://pypi.python.org/pypi?%3Aaction=search&term=rsync&submit=search

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板