Pimp my Google Calendar – gcalcli

So ein Google-Account ist schon ziemlich praktisch, mittlerweile erledige ich so ziemlich alle PIM Aufgaben mit ihm. Sehr praktisch ist vor allem der Kalender, der vor allem durch seine Funktion zu Erinnerung an Termine (E-Mail, SMS) besticht. Ein weiterer großer Vorteil ist die Erreichbarkeit, ich kann von fast jedem Internet-Zugang auf meine Termine, E-Mails, Notizen zugreifen, auch vom Handy ist das mittlerweile kein Problem mehr.

Die bereits angesprochene SMS-Funktion des Google-Calendar läßt sich aber auch sehr geschickt zur Benachrichtigung durch einen Computer benutzen. Mal den Fall angenommen, das ihr einen Server mit einer Monitoring Software wie zum Beispiel Nagios um vielleicht mehrere Server bzw. Dienste zu überwachen und man möchte sich per SMS bei Ausfällen informieren zu lassen. In der Regel tut man das über Webdienste, die einen Betrag pro gesendeter SMS verlangen. Aber es geht auch anders, und zwar mit Hilfe unseres Google-Kontos:

Das Zauberprogramm heißt 'gcalcli', zum Download unter Google Code. Zum Betrieb wird Python und einige Python Module gebraucht, die aber in den meisten Distributionen über die Paketverwaltung verfügbar sind. Sind die Abhängigkeiten installiert muss nur noch das Archiv entpackt werden und das Programm auf der Konsole mit './gcalcli' gestartet werden. Dann passiert aber (falls keine Fehlermeldung kommt ) erstmal noch nichts, denn es fehlt noch eine Konfigurationsdatei:

mit nano ~/.gcalclirc lässt sich diese erstellen. Als Inhalt sollte zumindest folgendes darin stehen:

[gcalcli]
user: benutzer@googlemail.com
pw: passwort

um nur euren Benutzerkalender zu verwenden fügt ihr noch die Zeile

cals: owner

hinzu, das macht das ganze etwas Übersichtlicher.

Jetzt kann man sich mit './gcalcli calm' den Kalender des aktuellen Monats mit den bereits eingetragenen Terminen anzeigen. Einen neuen Termin legt man mit dem folgenden Kommando an:

./gcalcli quick 'Termin mit Kalle 17:00 20.01.08'

Damit wird am 20.01.2008 ein Termin um 17:00 mit Kalle in den Kalender eingetragen. Wenn ihr nun sagen wir eure SMS-Erinnerung auf eine Stunde vor Termin gestellt habt, dann reicht es wenn ihr z.B. Nagios so skriptet, dass es den oben gezeigten Befehl zum Hinzufügen eines Termins, ausführt. Allerdings so, das die Erinnerung in einer Stunde und einer Minute erzeugt wird, und ihr so in der nächsten Minute die Erinnerung (in dem Fall die Nachricht von Nagios) auf euer Handy erhaltet und das völlig kostenlos.

Um das ganze ein wenig zu vereinfachen, habe ich mir ein kleines Skript gebastelt:

Skript zum einfachen Versenden von Benachrichtigungen über Google Calendar

Im Kopfteil kann eingestellt werden wo sich gcalcli befindet, ansonsten sollte keine Konfiguration nötig sein. Das Skript geht davon aus das der SMS-Reminder in Google Calendar auf 1 Stunde gestellt ist.

Aufgerufen wird das ganze einfach über

./calsend.sh [Nachricht]

Für eventuelle Schäden kann ich natürlich wie immer nicht aufkommen, bei Fragen oder Anregungen bitte die Kommentare benutzen.

Ein Gedanke zu „Pimp my Google Calendar – gcalcli

  1. Raptor

    Hallo,

    da sag ich mal dezent: man date

    Diesen ganzen Absatz

    #pre=$(date +%H)
    #suff=$(date +%M)
    #datum=$(date +%m/%d)
    #pre=$((++pre))
    #suff=$((++suff))
    #if [ 10 -gt $suff ]; then
    # suff=0$suff
    #fi
    #
    #sendate=$pre:$suff
    #
    #param=“$message $sendate $datum'“

    kann man auch etwas verkuerzen:

    caldate=`date +%H:%M %m/%d -d „now + 1 hour + 1 minute“`
    param=“$message $caldate“

    Viel Spass…

    Edit:
    Die urspruengliche Version setzt nach 23 Uhr den Termin auf 24:xx (!!!) des selben Tages. Google macht dann zwar 0:xx daraus und traegt es ein, allerdings ist der Termin dann einen Tag zu spaet…

Kommentare sind geschlossen.