84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
rt 没找到相关模块
认证高级PHP讲师
有几种可选的解决方案,可以根据实际情况(运行平台,应用需求)进行取舍。
方案一、用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完成一个自动化的日常维护任务,那么推荐第一种方案。
呵呵,没有搜索相关模块....只搜索pypi能找到好几个.https://pypi.python.org/pypi?%3Aaction=search&term=rsync&submit=search
有几种可选的解决方案,可以根据实际情况(运行平台,应用需求)进行取舍。
方案一、用python封装对本地rsync程序的调用
设若需求比较简单,且运行平台上有rsync的本地程序可用,可以使用subprocess模块封装对rsync的调用命令(也可以使用os模块进行封装,原理上是一样的),例如:
这种方案的优点是实现简单,不容易有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完成一个自动化的日常维护任务,那么推荐第一种方案。
呵呵,没有搜索相关模块....
只搜索pypi能找到好几个.
https://pypi.python.org/pypi?%3Aaction=search&term=rsync&submit=search