Per Skript 2 CalDAV Kalender abgleichen
Ich habe aktuell nach einer Möglichkeit gesucht 2 CalDAV Kalender gegeneinander abzugleichen, so das diese immer auf dem gleichen Stand sind. Dazu habe ich ein Skript erstellt, welches das für mich erledigt.
Mit diesem Skript habe ich die Möglichkeit beispielsweise einen Nextcloud Kalender und einen Google Kalender miteinander abzugleichen, oder x beliebige CalDAV Kalender.
Das Script überprüft bei Ausführung ob eine Verbindung erfolgreich war und gibt eine dementsprechende Meldung aus. Außerdem wird geschaut ob die Kalendereinträge synchron sind oder nicht. Wenn nicht, wird synchronisiert.
#!/bin/bash
# URL der ersten CalDAV-Quelle
caldav1="https://caldav.example1.com"
# URL der zweiten CalDAV-Quelle
caldav2="https://caldav.example2.com"
# Abrufen von Kalendereinträgen von caldav1 mit cURL
entries1=$(curl --silent --fail --user username:password "$caldav1/calendar.ics")
if [ $? -eq 0 ]; then
# Abrufen von Kalendereinträgen von caldav2 mit cURL
entries2=$(curl --silent --fail --user username:password "$caldav2/calendar.ics")
if [ $? -eq 0 ]; then
# Vergleich der Einträge
if [ "$entries1" = "$entries2" ]; then
echo "Kalender sind bereits synchronisiert"
else
echo "Kalender sind nicht synchronisiert"
fi
else
echo "Fehler beim Abrufen von Kalendereinträgen von caldav2"
fi
else
echo "Fehler beim Abrufen von Kalendereinträgen von caldav1"
fi
Das ganze könnte man nun in einem Crontab regelmäßig ausführen lassen. Davor aber chmod +x das Skript ausführbar machen.