Terminplaner mittels Shell-Skript

vorhergehende Artikel in: Linux
07.07.2013

Heutzutage in der vernetzten Welt kommt niemand mehr auf die Idee, einen Terminkalender aus Papier mit sich herumzutragen - alles muß elektronisch passieren. Es gibt aber auch andere Lösungen, als einen Outlook-Server zu installieren oder persönliche Daten in die Cloud auszulagern.

Ich habe mich in der Vergangenheit hin und wieder geärgert, wenn mir Termine durch die Lappen gegangen sind. Das sollte sich ändern - allerdings wollte ich mit der Cloud nichts zu schaffen haben und mir lediglich zum Zwecke der Terminerinnerung einen Groupware-Server aufzusetzen, kam auch nicht in Frage.

Daher setzte ich mich zunächst hin - ein guter Bekannter pflegt zu sagen: "Erst muß der Plan fertig sein!" - und definierte meine Ansprüche an eine elektronische Terminerinnerung:

  1. Sie sollte schlank sein - kein Server, keine Datenbank oder ähnliches
  2. Beim Login sollte jeden Tag geprüft werden, welche Termine an diesem Tag anliegen; werden welche gefunden, soll eine EMail an mich versendet werden.
  3. Beim zweiten oder dritten Login soll diese Prüfung nicht mehr stattfinden, um EMail-Doubletten zu vermeiden
Lassen sich diese Anforderungen erfüllen? Erstaunlicherweise ja - mittels eines Linux-Shell-Skriptes.

Zunächst testet das Skript, ob die Datei .ensure_mail_sent_once im Homeverzeichnis des Nutzers vom aktuellen Tag stammt. Ist das der Fall, beendet es sich sofort. Das verhindert mehrmaliges Senden der Mails bei mehrmaligem Login an ein und demselben Tag.

Anschließend werden aus dem aktuellen Datum Jahr, Monat, Tag und Wochentag extrahiert. Darüber hinaus wird abhängig von Monat und Tag noch ein Flag gesetzt, das anzeigt, ob das aktuelle Datum das Ende des Monats bezeichnet.

Anschließend werden abhängig von den extrahierten Informationen Aktionen ausgeführt - im Beispiel werde ich daran erinnert, daß ich zum Comic-Buchladen gehen und die neuesten Ausgaben abholen muß.

Als letztes schließlich wird das Modifikationsdatum der Datei .ensure_mail_sent_once auf den aktuellen Tag gesetzt, um wiederholtes Ausführen innerhalb eines Tages zu verhindern.

Wer dieses Skript ebenfalls einsetzen möchte, muß dazu lediglich die Referenzen auf das Homeverzeichnis durch das eigene ersetzen.

Lizenz
sentMails

Artikel, die hierher verlinken

Todo.txt

18.10.2015

Todo.txt style="max-width:256px;" Beim ziellosen Browsen im Internet bin ich über Todo.txt gestolpert, das mir aus verschiedensten Gründen sofort aus dem Herzen gesprochen hat.

Scheduler mittels Shell-Skript

23.11.2014

In einem früheren Artikel beschrieb ich einen leichtgewichtigen Terminkalender, der nichts anderes tat, als EMails zu versenden. Ich habe diese Idee aufgegriffen und ein wenig erweitert - nun startet die Lösung beliebige Tasks zu definierten Zeitpunkten

Skript genau einmal pro Tag starten

16.08.2014

Ich suchte nach einer Möglichkeit, Shell-Skripts (Bash) einmal am Tage laufen zu lassen - auch wenn der Rechner zwischendurch ausgeschaltet wurde, durfte das Skript nicht nochmals loslaufen. In einem bereits veröffentlichten Artikel wurde eine Lösung bereits implizit vorgestellt. Hier nochmale eine Gegenüberstellung von zwei möglichen Lösungen:

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.