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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板