加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

备份 – 如何使用一个wget / curl下载所有我的caldav和carddav数

发布时间:2020-12-13 23:56:33 所属栏目:Linux 来源:网络整理
导读:到目前为止,我使用谷歌日历并使用公共“.ics”链接每天进行个人备份. 现在我想切换到只有caldavaccess的新服务. 是否有可能用一个wget / curl下载所有我的caldav和carddav数据? 这个下载的数据应该让我有可能备份丢失的数据. 提前致谢. 编辑 我创建了一个非
到目前为止,我使用谷歌日历并使用公共“.ics”链接每天进行个人备份.

现在我想切换到只有caldavaccess的新服务.

是否有可能用一个wget / curl下载所有我的caldav和carddav数据?

这个下载的数据应该让我有可能备份丢失的数据.

提前致谢.

编辑

我创建了一个非常简单的php文件,其工作方式是hmh解释的.不知道这种方式是否适用于不同的提供商,但对于mailbox.org,它运作良好.

你可以在这里找到https://gist.github.com/ahemwe/a2eaae4d56ac85969cf2.

解决方法

请具体说说,您使用的新服务/服务器是什么?

这不是专门的CalDAV,但是大多数DAV服务器仍然提供了使用单个GET获取所有事件/待办事项的方法.通常通过使用GET定位相关集合,例如像其中一个:

curl -X GET -u login -H "Accept: text/calendar" https://myserver/joe/home/
curl -X GET -u login -H "Accept: text/calendar" https://myserver/joe/home.ics

在CalDAV / CardDAV中,您可以使用PROPFIND获取集合的全部内容:

curl -X PROPFIND -u login -H "Content-Type: text/xml" -H "Depth: 1" 
  --data "<propfind xmlns='DAV:'><prop><calendar-data xmlns='urn:ietf:params:xml:ns:caldav'/></prop></propfind>" 
  https://myserver/joe/home/

用日历替换日历数据

<address-data xmlns="urn:ietf:params:xml:ns:carddav"/>

对于CardDAV.

这将为您提供一个嵌入了iCal / vCard内容的XML实体.要恢复它,您需要解析XML并提取数据(不是很难).

注意:虽然标准,但有些服务器拒绝或只是省略内容(lame!file bug reports ;-).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读