备份DAV服务器。

davbackup的Python项目详细描述


从DAV服务器下载整个树。这可用于从owncloud/nextcloud服务器进行备份。

用法

--help选项的以下输出显示用法:

$ python3 davbackup.py --help
usage: davbackup.py [-h] [--config FILE] [--destdir DIR] [--start RMT_DIR]

Download content from DAV server.

optional arguments:
  -h, --help            show this help message and exit
  --config FILE, -c FILE
                        Specify a config file other than the default.
  --destdir DIR, -d DIR
                        Specify destination directory.
  --start RMT_DIR, -s RMT_DIR
                        Download only the specified subtree.

配置文件

提供了名为davbackup.json.sample的示例配置文件。重命名并编辑以满足您的需要。

配置是一个json文件,其字段是自解释的,除了下面解释的nbackups字段之外。请注意,密码是base64编码的。这使它变得模糊,不安全,但程序应该在受信任的计算机上运行:

{
    "protocol": "https",
    "server": "nextcloud.samplesite.com",
    "username": "fred",
    "password": "YWJyYWNhZGFicmE=",
    "davstart": "/remote.php/dav/files/fred",
    "nbackups": 4
}

字段nbackups是要保留的备份副本数。当本地目录已经存在时,它假定包含先前的备份,并且用扩展名001重命名。如果存在具有001扩展名的目录,则将其重命名为.002等,直到达到指定的备份数量为止。如果目录的数量大于备份的数量,则只需将其删除。

安装

使用提供的setup.py实用程序安装:

$ python3 setup.py install

或者只需使用pip从pypi站点安装:

$ pip install davbackup

运行

一旦您有了如上所述的有效配置文件,只需运行:

$ davbackup --config <configfile> --destdir <localdir>

您可以使用上面描述的参数。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnClick用于ListView中的特定项   java如何多次循环相同的TestNG测试。包括课前和课后   java如何在Codenameone中设置BrowserComponent浏览器窗口大小   java Socketchannel始终为空   java以编程方式向JavaFX WebEngine历史添加新条目   java Hibernate+Spring与Oracle一起使用分层查询(从+连接方式开始)   Java中的安卓 getView和Beacon(Estimote)问题   计时器如何在java中设置暂停选项   java为什么输入1000000000000的输出不正确?   java如何在程序执行期间更改log4j2中的日志记录级别   java阻止代码引发XML异常   未找到媒体类型为application/json的java JAX RS MessageBodyWriter   java如何将BuffereImage中的特定颜色(0xFF00FF)设置为透明?   java如何列出web元素,如果网页中没有特定链接的id,如何单击网页中的特定链接?   在Java中读取txt文件时获取EOFEException   java如何避免为每个视图添加inject方法?   JavaSpringController:Facebook上类似文章的永久链接   java在尝试执行脚本时遇到错误“net.serentiybdd.core.exceptions.serentitymanagedexception:No session ID”