Question

Jusqu'à présent, j'utilisais Google Calender et faire ma sauvegarde personnelle avec un quotidien wget de la public ".ics"Lien.

Maintenant, je souhaite passer à un nouveau service qui n'a que caldavaccéder.

Y a-t-il une possibilité de télécharger tous mes caldav et carddav données avec un wget / curl?

Ces données téléchargées devraient me donner la possibilité de sauvegarder les données perdues.

Merci d'avance.

modifier

J'ai créé un fichier php très simple qui fonctionne de la manière expliquée par hmh.Je ne sais pas si cette méthode fonctionne pour différents fournisseurs, mais pour mailbox.org, cela fonctionne bien.

Vous pouvez le trouver ici https://gist.github.com/ahemwe/a2eaae4d56ac85969cf2.

Était-ce utile?

La solution

Veuillez être plus précis : quel est le nouveau service/serveur que vous utilisez ?

Il ne s'agit pas spécifiquement de CalDAV, mais la plupart des serveurs DAV offrent toujours un moyen de récupérer tous les événements/tâches à l'aide d'un seul GET.Généralement en ciblant la collection concernée avec un GET, par ex.comme l'un ou l'autre :

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

Dans CalDAV/CardDAV, vous pouvez récupérer tout le contenu d'une collection à l'aide d'un 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/

Remplacez les données du calendrier par

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

pour CardDAV.

Cela vous donnera une entité XML dans laquelle le contenu iCal/vCard est intégré.Pour le restaurer, vous devrez analyser le XML et extraire les données (pas difficilement).

Note:Bien que ce soit une norme standard, certains serveurs rejettent cela ou omettent simplement le contenu (boiteux !déposer des rapports de bogues ;-).

Autres conseils

Spécifiquement destiné aux personnes utilisant Baïkal (>= 0,3,3 ;d'autres solutions basées sur Sabre/dav seront similaires), vous pouvez accéder directement à

https://<Baïkal location>/html/dav.php/

dans un navigateur et obtenez une interface HTML qui vous permet de télécharger des fichiers ics, et ainsi de trouver les bons liens pour ceux à utiliser avec curl/wget.

J'ai essayé la réponse acceptée qui n'a pas fonctionné pour moi.Avec mon fournisseur de calendrier CalDAV, je peux cependant récupérer tous les fichiers de calendrier en utilisant

wget -c -r -l 1 -nc --user='[myuser]' --password='[mypassword]' --accept=ics '[url]'

[myuser] et [mypassword] sont ce que vous attendez et [url] est la même URL que celle que vous entrez dans votre logiciel CalDAV habituel (telle que spécifiée par votre fournisseur).

La commande crée un répertoire contenant tous les fichiers ICS représentant les éléments du calendrier.Une commande similaire fonctionne pour mon carnet d'adresses.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top