Hallo,
ich benutze ein Kalenderfrontend, das gespeicherte Termine in einer Textdatei ablegt. Diese möchte ich mit einer Shell gerne auswerten um z.B. Erinnerungsemails zu verschicken.
Die vom Kalender erzeugten Daten sehen wie folgt aus:
1082894126|1082955600|1082916000|1082926800|Berlin|Party|
Die ersten 4 Werte sind Timestamps und stehen für Anfangsdatum, Anfangszeit, Enddatum, Endzeit.
Meine Idee war ein Script mit Endlos-Schleife oder einen Cronjob laufen zu lassen, der die Datei regelmässig ausliest und auswertet. Mit Shell Befehlen arbeite ich jedoch nur selten, so das es mir da noch am Lösungsansatz fehlt. Gibts eventuell schon eine fertige Funktion oder ein vergleichbares Script ?
Ich bin für jeden Tip dankbar.
Termine per Shell auslesen
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Termine per Shell auslesen
Stichworte: cut, grep, awk, ...
Was genau willst du denn damit anfangen?
Was genau willst du denn damit anfangen?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
tenshinhan10
- Posts: 64
- Joined: 2003-02-25 15:47
Re: Termine per Shell auslesen
Das sollte so eine Art Terminbenachrichtigung sein. Wenn ein Termin erreicht ist (b.z.w. kurz davor) soll der eine Email versenden.
Re: Termine per Shell auslesen
Nimm doch einfach ein PHP-Skript als Shellskript. Damit kannst du ja schliesslich schon umgehen und musst zudem deine Funktionen nicht neu schreiben.
Gruß,
Nico
Gruß,
Nico
Re: Termine per Shell auslesen
#!/usr/bin/php
<?
$datei = "events.txt";
$fp = fopen( $datei, "r");
while (!feof($fp)) {
$entryline = fgets($fp,1024);
if (ereg("|", $entryline) {
$entry = explode("|", $entryline);
$anfang = $entry[0];
$von = $entry[1];
$ende = $entry[2];
$bis = $entry[3];
$event = $entry[4];
$ort = $entry[5];
// Beispiel für erinnerung
if (time() > ($von - (12 * 3600))) {
$message = "Nicht vergessen,n um ". date("H:i", $von) ." findet in $ort das Megaevent: "$event" bis ca. ". date("H:i", $bis) ." statt";
mail("deine@mail.de", "Eventerinnerung", $message);
}
}
}
Wenn du dieses script als php speicherst und dann als cronjob mit "/bin/php /deinephp.php" ausführst, schickt er dir immer eine Mail wenn ein event innerhalb der nächsten 12 Stunden beginnt...
Ist beliebig erweiterbar.
Nicht getestet, aber könnte gehn *g*
Sowas gesucht?
<?
$datei = "events.txt";
$fp = fopen( $datei, "r");
while (!feof($fp)) {
$entryline = fgets($fp,1024);
if (ereg("|", $entryline) {
$entry = explode("|", $entryline);
$anfang = $entry[0];
$von = $entry[1];
$ende = $entry[2];
$bis = $entry[3];
$event = $entry[4];
$ort = $entry[5];
// Beispiel für erinnerung
if (time() > ($von - (12 * 3600))) {
$message = "Nicht vergessen,n um ". date("H:i", $von) ." findet in $ort das Megaevent: "$event" bis ca. ". date("H:i", $bis) ." statt";
mail("deine@mail.de", "Eventerinnerung", $message);
}
}
}
Wenn du dieses script als php speicherst und dann als cronjob mit "/bin/php /deinephp.php" ausführst, schickt er dir immer eine Mail wenn ein event innerhalb der nächsten 12 Stunden beginnt...
Ist beliebig erweiterbar.
Nicht getestet, aber könnte gehn *g*
Sowas gesucht?