Backup adresara (carddav) putem skripte?
Možda je netko već radio, ili barem ima ideju pa da ubrzam kopanje.
Imam privatni i poslovni adresar na webu u obliku carddav kalendara, dostupan kroz link i autorizaciju (korisničko ima i lozinka). Webdav backend je sabredav. Umjesto da ručno preko sučelja jednom mjesečno radim backup adresara, mislio sam složiti nešto da mi svaki dan u određeno vrijeme napravi backup na moj Synology NAS. NAS je na linuxu, tako da bi se trebalo moći na njemu pokrenuti i staviti u cronjob. Ne očekujem gotovu skriptu, ali bilo bi zahvalan na pogurancu u pravom smjeru, bar da mi se objasni način na koji bih mogao složiti i s kojim pomoćnim programima. Nisam programer, ali se snalazim. Svakako objavim ovdje skriptu ako je uspijem složiti. :) |
https://sabre.io/dav/vcf-export-plugin/
Ako je to to, okines u cronu neki curl/wget zahtijev i dobar si. |
Baš se evo maltretiram cijelo poslije podne. :)
Brzo sam pronašao kako povući XML podatke za VCF: Code:
curl -X PROPFIND -u username:password -H "Content-Type: text/xml" -H "Depth: 1" --data " Uglavnom, uspio sam isčupati sve test VCARD iz tog xml-a i spremiti u datoteku. Sada to treba malo očistiti od gluposti koje sam napisao i sve staviti u neku bash skriptu koja će kada sve završi spremiti rezultat kao backup, a obrisati sve nepotrebne datoteke. Kada završim stavim ovdje pa neka ima ako kome zatreba. |
Ne kuzim kako (i zasto) dobivas XML, dokumentacija kaze:
Citiraj:
|
Citiraj:
Bitno da sam ja uspio dobiti taj single file vcf preko xml parsera. Sada ću pokušavati da li mogu dobiti isti direktno od servera. |
Da objavim konačan rezultat ukoliko nekome bude trebalo ili barem za ideju drugima.
Kao što sam napisao, htio sam to riješiti na Synology NAS-u, pošto on radi 24/7, a i skladište mi je podataka. Nisam dizao nikakve virtualke, a koristio sam bash i nodejs + xml-js. Nodejs sam koristio iz razloga što već imam nekog iskustva s nodejs pa mi je bilo lakše, ali ima i PHP / Perl xml parsera. Nemam neki poseban razlog za Node modul xml-js, probao sam prvo neki drugi, ali nije radio ispravno, dok ovaj radi. Bash skripta koja se pokreće preko cronjob-a, s komentarima Code:
#!/bin/bash Code:
var fs = require('fs'); Vjerojatno bi se cijeli parse xml dio mogao napraviti i preko bash-a. Potrebno bi bilo isčupati sve između " To je to, možda nekome pomogne. Ako netko ima prijedlog kako poboljšati, otvoren sam za komentare. :) |
Bravo kolega,
+ za trud, + za share rješenja. |
Sva vremena su GMT +2. Sada je 15:22. |
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 1999-2023 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger