Mit PHP cronjobs erstellen

balufreak

Aktives Mitglied
Thread Starter
Dabei seit
12.10.2003
Beiträge
1.563
Reaktionspunkte
28
Hallo Leute!

Für mein CMS möchte ich gerne einen Reminder von einem Termin per SMS verschicken.
Nun der User kann angeben wann er daran errinnert werden will. Der Rest macht dann das system.

Das SMS wird mit hilfe eines Perl scriptes versendet. Dieses muss mit parametern aufgerufen werden. Damit nun dies zur richtigen Zeit geschieht, habe ich da an cronjobs gedacht.

meine frage nun: wie kann ich mit php einen cronjob erstellen? geht das überhaupt?

Greets balu
 
Zuletzt bearbeitet:
ich wage zu bezweifeln, dass soetwas möglich ist. das internet ist eben ein event-loses
protokoll. rein prinzipiell sollte es unmöglich sein, oder?

moses
 
Das weiss ich schon. Aber ich will ja nicht für jeden Termin welcher ein User einträgt mich im Webinterface des Webspaceanbieters einlogen und einen cronjob eintragen. Dies muss automatisch geschehen.
 
balufreak schrieb:
Das weiss ich schon. Aber ich will ja nicht für jeden Termin welcher ein User einträgt mich im Webinterface des Webspaceanbieters einlogen und einen cronjob eintragen. Dies muss automatisch geschehen.
Du wirst auch gar nicht so viele Cronjobs bezahlen können ;)
Nein, EIN Cronjob, der jede Stunde ein SMS-remind durchführt - 1h ist die kürzeste Zeiteinheit bei 99% der Anbieter
 
bissle abstrus, aber möglich. auf deinem rechner hast du eine html-seite, die alle 60
sekunden neu lädt. das anzuzeigende script lädt termine etc. aus einer datenbank,
vergleicht sie mit dem datum und der tageszeit (mysql/timestamp?) und verschickt
ggf. eine mail. irgendwie schwachsinnig...möglich wärs aber :)
 
BalkonSurfer schrieb:
Du wirst auch gar nicht so viele Cronjobs bezahlen können ;)
Nein, EIN Cronjob, der jede Stunde ein SMS-remind durchführt - 1h ist die kürzeste Zeiteinheit bei 99% der Anbieter

Bei meinem Hostingprovider habe ich keine Cronjoblimite und auch kein Minimumzeitabstand. Von dem her habe ich keine Bedenken. Ausserdem sind da die Cronjobs gratis.


Ich habe mir gedacht, dass es evtl mit
PHP:
 <?php system('befehl um cronjob zu erstellen'); ?>
geht oder so.
 
moses_78 schrieb:
bissle abstrus, aber möglich. auf deinem rechner hast du eine html-seite, die alle 60
sekunden neu lädt. das anzuzeigende script lädt termine etc. aus einer datenbank,
vergleicht sie mit dem datum und der tageszeit (mysql/timestamp?) und verschickt
ggf. eine mail. irgendwie schwachsinnig...möglich wärs aber :)
Ne, dafür gibts doch Cronjobs - die führen zu einer definierten Zeit scripte aus ;)
 
balufreak schrieb:
Bei meinem Hostingprovider habe ich keine Cronjoblimite und auch kein Minimumzeitabstand. Von dem her habe ich keine Bedenken. Ausserdem sind da die Cronjobs gratis.
Huch - darf man fragen, welcher das ist? *sabber* :cool:

Ne, doch nicht für jeden Termin einen Cronjob! EINEN, der jede Stunde prüft, wer was geschickt bekommen soll.
 
Doch, das geht natürlich.

Dein PHP Skript muß auf das entsprechende crontab file zugreifen und dieses manipulieren..
 
moses_78 schrieb:
aber das geht doch im internet nicht....

Hat doch damit nix zu tun.

Cron is ancient ;-).
Seitdem es php gibt, kann man damit wohl textdateien manipulieren, notfalls über ein externes Programm, das man z.B. mit obigem system() Befehl aufrufen kann.
 
Incoming1983 schrieb:
Dein PHP Skript muß auf das entsprechende crontab file zugreifen und dieses manipulieren..
Aber hey - umständlicher gehts nicht mehr... Und spätestens nach dem 200sten Cronjob, der wie wild rumjobt, wird der Provider mal ne nette E-Mail schreiben, ob man das nicht auch einfacher machen kann ;)
 
BalkonSurfer schrieb:
Das geht seit Anbeginn des Internets ;)
zumindest nicht mit einem gewöhnlichen script, da sind wir uns doch einig,
oder?

vielleicht mit einem server-modul oder sowas..
 
BalkonSurfer schrieb:
Aber hey - umständlicher gehts nicht mehr... Und spätestens nach dem 200sten Cronjob, der wie wild rumjobt, wird der Provider mal ne nette E-Mail schreiben, ob man das nicht auch einfacher machen kann ;)

Man sollte schon wissen, was man tut ;-).

Reicht ja, wenn man die Termine/Erinnerungen etc. in eine DB schreibt und ein Skript aufruft, das die DB parsed und entsprechende Erinnerungen verschickt.

Dann braucht man nur einen Cronjob. Und da das nicht viel ist, kann man sich auch das PHP Frontend sparen.
 
moses_78 schrieb:
zumindest nicht mit einem gewöhnlichen script, da sind wir uns doch einig,
oder?

vielleicht mit einem server-modul oder sowas..

sofern du mit php systembefehle ausführen kannst, kannst du auch den crontab manipulieren..
 
ach es geht um den systemcrontab.....

der webhoster wird begeistert sein :D
 
Zurück
Oben Unten