Automatisch Backups von ownCloud-Adressbüchern und Kalendern anlegen

| 7 Kommentare

In meinem letzten Artikel hatte ich schon beschrieben, wie man ownCloud-Kalender herunterlädt und anschließend anderen wieder verfügbar macht, um sie z.B. in einen externen Kalender einzupflegen (auf einem Blog) oder ähnliches. In diesem Beitrag soll es darum gehen, wie man Kalender und Adressbücher automatisch herunterlädt.



Hier ein Skript, mit dem der Kalender ausgelesen wird und mit einem Timestamp versehen gespeichert wird:

#!/bin/bash

DATE=`date +"%d-%m-%Y"`
url="MY-OWNCLOUD-CALENDAR-DOWNLOAD-URL"
user=MY-USERNAME
pwd="MY-PASSWORD"

wget \
--quiet --output-document="BACKUP-FOLDER/$DATE-calendar.ics" \
--auth-no-challenge \
--http-user=$user --http-password="$pwd" \
"$url"

Die richtige URL finde ich heraus, indem ich wie im vorherigen Artikel beschrieben verfahre:

D.h. wie auf dem Bild zu sehen, mit der rechten Maustaste auf den Pfeil neben dem gewünschten Kalender klicken, den Link speichern und in das Skript einfügen. Außerdem müssen natürlich noch die Daten für den User, das Passwort und den Ordner angepasst werden.
Das Skript z.B. im Ordner /usr/local/bin speichern (z.B. als kalenderbackup.sh). Anschließend muss es noch ausführbar gemacht werden. Hierzu aus dem genannten Ordner heraus ein chmod +x kalenderbackup.sh ausführen.
Nun müsste das Skript schon funktionieren und kann über die Eingabe des Skriptnamen gestartet werden:

kalenderbackup.sh

Wenn dass Skript funktioniert, kann anschließend noch ein Cron-Job angelegt werden. Hierzu
crontab -e aufrufen, über die Eingabe i in den Bearbeiten-Modus wechseln und folgendes eintragen:

#Taegliches Kalender-Backup
0 2 * * * /usr/local/bin/kalenderbackup.sh

Den Bearbeiten-Modus über das Drücken von ESC verlassen und den crontab durch die Eingabe von :wq speichern und schließen. Nun wird jeden Tag um zwei Uhr das Backup-Skript ausgeführt.

Zum Anlegen eines Backups der ownCloud-Adressbücher wird ähnlich verfahren. Das Skript sieht ähnlich aus:

#!/bin/bash

DATE=`date +"%d-%m-%Y"`
url="MY-OWNCLOUD-ADDRESS-BOOK-CARDDAV-URL?export"
user=MY-USERNAME
pwd="MY-PASSWORD"

wget \
--quiet --output-document="BACKUP-FOLDER/$DATE-addressbook.vcf" \
--auth-no-challenge \
--http-user=$user --http-password="$pwd" \
"$url"

Doch im Unterschied zu den Kalendern muss hier bei der anzugebenden URL nicht der Download-Link, sondern der CardDAV-Link angegeben werden und durch ein ?export ergänzt werden. Ähnlich wie oben kann natürlich auch hier ein Cronjob angelegt werden, um das Backup des Adressbuchs zu automatisieren.

Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someonePrint this page
Alexander Kallenbach

Autor: Alexander Kallenbach

Mein Name ist Alexander Kallenbach. Ich schreibe hier auf Scroom über alles mögliche – vor allem aber über IT. Hierbei interessieren mich besonders freie und/oder quelloffene Software sowie deren Entwicklung und Einsatz. Außerdem interessieren mich Auswirkungen von IT auf unser Leben. Hierbei ist die Nutzung von Daten und somit auch Datenschutz ein Themenbereich.

7 Kommentare

  1. Hey danke für dieses ausführliche Tutorial!
    Aber ist es nicht ein bisschen riskant Benutzer und Passwörter klartext abzuspeichern? Läuft die Verbindung über SSL?

    Gibt es sowas auch für ownCloud Aufgaben (/Tasks)?

    • Alexander Kallenbach

      Hallo Jonas,

      Freut mich, dass dir der Artikel gefällt 😉
      Benutzernamen und Passwörter im Klartext zu speichern ist nie optimal. Ich habe daher extra einen OwnCloud-Benutzer angelegt, mit dem ich die Adressbücher und Kalender geteilt habe. Außerdem kannst du die Zugriffrechte auf das Skript so anpassen, dass es nur von einem Nutzer mit root-Rechten lesbar ist:


      sudo chown root:root kalenderbackup.sh
      sudo chmod 700 kalenderbackup.sh

      Ob die Verbindung zu deiner ownCloud verschlüsselt abläuft, hängt ganz davon ab, ob der Webserver HTTPS verwendet (erkennst du in der Adresszeile deines Browsers, wenn du z.B. die Login-Maske oder irgendeine andere Seite der Cloud aufrufst).

      Zu den Tasks kann ich dir leider nichts mit Sicherheit sagen (sind sie nicht Teil der Kalender?.

  2. Vielen Dank für das Tutorial.
    Beim Sichern der Adressbucheinträge klappt alles hervorragend. Leider kann ich aber den richtigen Link für den Export des Kalenders nicht finden. Der Trick mit dem Rechtsklick klappt leider nicht mehr.
    Hast Du eine Idee, wie man den passenden Link herausbekommen kann?

    • Ich habe die Lösung nun selbst gefunden:
      Unter Chrome auf die drei Punkte hinter dem Kalendernamen klicken. Dann auf den Pfeil nach unten (ähnlich wie im Tutorial) und einfach die Datei herunterladen. In der Downloadübersicht (unteres Ende des Browsers) auf „ALLE ANZEIGEN“ klicken. Hier wird der passende Pfad angezeigt.
      Bei mir ist er folgendermaßen aufgebaut:

      https://ADRESSE DER NEXTCLOUD/remote.php/dav/calendars/BENUTZERNAME/default?export

      Nochmals vielen Dank für das Tutorial!

  3. Hi, danke für die Bereitstellung. Funktioniert bei mir. Schade, dass es so etwas nicht direkt von owncloud oder als Addon gibt.

    Bei neueren owncloud Versionen wird der Link dynamisch zusammengebaut (Rechtsklick – Links speichern unter… geht da nicht) und lautet

    http://{OWNCLOUDURL}/remote.php/dav/calendars/{NAME}/personal/?export

    Gruß
    Ronny

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


Time limit is exhausted. Please reload CAPTCHA.