Aus Raspberry Pi Geek 03/2014

Raspberry Pi als Synchronisationszentrale (Seite 3)

Abbildung 4: In der webbasierten Konfigurationsoberfläche von Baikal definieren Sie Benutzer und Kalender.

Abbildung 4: In der webbasierten Konfigurationsoberfläche von Baikal definieren Sie Benutzer und Kalender.

Baikal nutzen

Baikal bietet außer der Admin-Oberfläche zum Verwalten von Benutzern und Kalendern nichts weiter an. Die Kalender selbst sehen Sie aber mit allen Clients, die das CALDAV-Protokoll unterstützen, zum Beispiel mit dem Lightning-Plugin für Thunderbird.

Wünschen Sie sich ein Webfrontend für Ihren Kalender, dann installieren Sie CalDavZAP [6] auf dem RasPi. Die notwendigen Installationsbefehle zeigt Listing 4, das Sie nur noch an Ihre Bedürfnisse anpassen müssen, indem Sie Hostname, Port und Versionsnummer oben eintragen. Das Skript editiert auch automatisch ein paar Zeilen der zwar gut kommentierten, aber trotzdem etwas unübersichtlichen Konfigurationsdatei config.js – hier sind auch weitere Anpassungen möglich. Nach der Installation greifen Sie bequem per Browser über die Seite http://RasPi-IP/cal auf den Kalender zu.

Listing 4

#!/bin/bash
VERSION="0.10.0.1"
HOST="localhost"
PORT="8080"
# Download und Entpacken
wget http://www.inf-it.com/CalDavZAP_${VERSION}.zip
if [ -f CalDavZAP_${VERSION}.zip ]; then
  unzip CalDavZAP_${VERSION}.zip -d /var/www
  mv /var/www/caldavzap /var/www/cal
  sed -i \
   -e "s%var globalInterfaceLanguage='en_US';%var globalInterfaceLanguage='de_DE';%" \
   -e "s%//var globalUseJqueryAuth=false;%var globalUseJqueryAuth=true;%" \
   -e "s%^var globalNetworkCheckSettings%//var globalNetworkCheckSettings%" \
   -e "/http:\/\/lion/s%^//var globalNetworkCheckSettings%var globalNetworkCheckSettings%" \
   -e "s%lion.server.com:8008/principals/users/%${HOST}:${PORT}/baikal/cal.php/principals/%" \
   /var/www/cal/config.js
  chown -R www-data:www-data /var/www/cal
  rm -f CalDavZAP_${VERSION}.zip
fi

Für Adressdaten gibt es analog das Tool CardDavMate [7] mit fast identischer Installation und Konfiguration – allerdings scheint es damit nach Benutzermeldungen noch Probleme zu geben.

Wichtiger als der Zugriff per Browser ist der Anschluss von mobilen Geräten. Nutzer der “iWelt” sind hier fein raus, denn die Programme von Apple sprechen nativ die CalDAV- und CardDAV-Protokolle.

Android-Anwender müssen sogenannte Sync-Adapter installieren. Stabil, aber (noch) nicht frei sind die Apps CalDav-Sync und CardDav-Sync. Wer ganz auf Open Source setzen will, der verwendet CalDav-Sync Free Beta oder DavDroid. Beide laden Sie über den Playstore, F-Droid steht darüber hinaus als Quellcode zum Download bereit [8]. Während beim Autor die erste App seit Monaten ohne Probleme läuft, gilt DavDroid noch nicht als stabil und fehlerfrei.

Egal, welche Software Sie wählen: Die Zugriffsadressen auf den Baikal-Server lauten für einen Benutzer mit der ID tux, der einen Arbeitskalender und Adressbuch jeweils mit der ID work besitzt, http://RasPi-IP/baikal/cal.php/calendars/tux/work und http://RasPi-IP/baikal/card.php/addressbooks/tux/work.

Rsync: Tipps und Tricks

Lange galt Rsync als der Platzhirsch unter den Sync-Tools für Unix, wurde aber von Dropbox etwas in den Schatten gestellt. Dabei gilt das kleine Tool als das Schweizer Messer der Synchronisation schlechthin. Optional überträgt es nur die Änderungen und verifiziert, dass alles richtig ankommt – womit es sich auch beim lokalen Kopieren als äußerst nützlich erweist. Folgender Befehl kopiert das Verzeichnis /home/pi/src vom lokalen auf einen zweiten Rechner pi2:

$ rsync -avz /home/pi/src admin@pi2:/home/admin

Dort erfolgt im Beispiel die Anmeldung als Benutzer admin, das Zielverzeichnis lautet /home/admin. Quelle und Ziel können Sie auch andersherum angeben, dann holt Rsync das Verzeichnis vom entfernten Rechner. Sorgfalt ist bei den Pfadnamen geboten: Bei einem Quellverzeichnis ohne Slash (/) am Ende kopiert Rsync das ganze Verzeichnis – im Beispiel src – ansonsten nur dessen Inhalt. Beim Zielverzeichnis spielt es keine Rolle, ob ein Schrägstrich am Ende steht oder nicht.

Die Option -v bedeutet “verbose” und gibt alle übertragenen Dateien aus, während -z für die Kompression während der Übertragung sorgt. Zum Synchronisieren von Bildern, MP3-Dateien oder anderen bereits komprimierten Formaten eignet sie sich nicht. Rsync bringt aber bereits eine eingebaute Liste mit relevanten Dateiendungen mit und macht im Normalfall alles richtig. Näheres dazu erklärt die Manpage.

Dieser einfache Rsync-Befehl mit drei Optionen deckt schon sehr viel ab. Die restlichen 110 Parameter von Rsync kommen in der Regel nur bei Spezialfällen zum Einsatz.

Datentransfer über den Hub

Das in der Einleitung beschriebene Szenario, kleingerechnete Bilder vom Desktop an das Smartphone zu senden, funktioniert mit Rsync, indem der Desktop die Dateien an den Hub schickt, wobei Rsync automatisch die korrekt übertragenen Dateien löscht:

$ rsync -av --remove-source-files /data/bilder hub:/data/

Später holt das Smartphone die Dateien mit derselben Option wieder ab. Auf dem Hub sammeln sich also nicht unnötig Daten.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben