Metainformationen zur Seite

Caldav und Cardav Backup erstellen

bash lösung

#!/bin/bash
 
#Variable mit aktuellem Datum
DATE=`date + "%d-%m-%Y"`
 
#Backupdir
backupdir="/home/backup"
 
#Zugangsdaten zum einloggen
user="nextcloudbenutzer"
passwd="nextcloudpasswort"
 
#Adressbuch URL
urlvcf="MY-OWNCLOUD-ADDRESS-BOOK-CARDDAV-URL?export"
 
#Array mit den einzelnen Kalendern
urls=("exaple.com/caldav1"\ 
"exaple.com/caldav2"\ 
"exaple.com/caldav3"\ 
"exaple.com/caldav4"\
)
 
###Download Kalender
for i in "${urls[@]}"
do
calname=(echo $i|awk -F "/" '{print $7}')
wget \
   --quiet --output-document="$backupdir/$DATE-calendar-$calname.ics" \
   --auth-no-challenge \
   --http-user=$user --http-password="$passwd" \
   "$i"
done
 
###Download Adressbuch
wget \
   --quiet --output-document="$backupdir/$DATE-addressbook.vcf" \
   --auth-no-challenge \
   --http-user=$user --http-password="$pwd" \
   "$urlvcf"   

pyton lösung

import request
import datetime
 
#Variable mit aktuellem Datum
datenow=datetime.datetime.now().strf("%Y-m%-%d")
 
#Backupdir
backupdir="/home/backup"
 
#Zugangsdaten zum einloggen
user="nextcloudbenutzer"
passwd="nextcloudpasswort"
 
#Adressbuch
urlvcf="MY-OWNCLOUD-ADDRESS-BOOK-CARDDAV-URL?export"
 
#Kalender
url="exaple.com"
 
#Kalenderliste
kalenderliste=["priv","work","other"]
 
for i in kalenderliste:
    filename=datenow+" "+i+".ics"
    calurl=url+i
    r = requests.get(calurl, auth=(user, passwd),allow_redirects=True)
    open(filename, 'wb').write(r.content)
    close(filename)
 
#Adressbuchdownload
filename=datenow+" Adressbuch.vcf"
r = requests.get(urlvcf, auth=(user, passwd),allow_redirects=True)
open(filename, 'wb').write(r.content)
close(filename)