cron-job in php

Hallo zusammen, hoffe, jemand kann mir helfen:

Möchte, dass auf dem webserver zu einer bestimmten uhrzeit einmal täglich ein programm gestartet wird, das eine datenbank ausliest und die ergebnisse per email an mich schickt.

Das Lesen und auswerten der db und das versenden des mails ist kein problem, aber wie / wo hinterlege ich, dass ein bestimmtes programm zu einer bestimmten zeit gestartet wird.

Vermutlich benötige ich hierzu einen cron-job, der auf dem webserver installieret werden muss.

Aber wie hinterlege ich einen cronjob, wie sieht die syntax aus.

Habe gegoogelt und vieles gefunden, aber so richtig schlau bin ich daraus nicht geworden.

Kann mir jemand infos geben, was ich tun muss, oder hinweise, wo ich eine vernünftige anweisung im netz finden kann

Vielen dank schon jetzt

Hi,
ein cronjob ist ein Dienst der zeitlich gesteuert etwas tut. :slight_smile:

Ein Php-Script kann maximal 30 sec laufen, somit kannst du keinen Cronjob mit Php Programmieren.

Oft ist bei einem Webspace ein kostenloser cronjob dabei. Wenn nicht ist das auch kein Problem. Im Internet gibt es unzählige kostenlose Dienste dafür. Dort hinterlegst du einen Link, der zeitgesteuert aufgerufen wird. Jetzt musst du nur noch ein php-Script basteln das deine Aktionen ausführen soll.

Btw, was möchtest du eigentlich tun? Wenn du eune Tabelle/Datenbank backupen willst kann ich dir Mysqldumper empfehlen.

Mfg Mo3bius

Aber wie hinterlege ich einen cronjob, wie sieht die syntax aus.
Um welches System handelt es sich denn? Windows hat ein Task-Verwaltungsprogramm, womit man das leicht im UI einstellen kann etc…

Möchte, dass auf dem webserver zu einer bestimmten uhrzeit einmal täglich ein programm gestartet wird,[…]
Alternativ, fals deine Seite öffters mal besucht wird(User, Suchmaschinen), kannst du ja eine einfache Abfrage der Zeit einbauen und sobald, z.b. $tagzeitheute != $tagzeitjetzt ist, wird dein Programm ausgeführt (exec, bzw shell_exec etc).

Mfg

ich möchte mit täglich die zugriffszahlen auf meine homepage per link zustellen lassen
kann ich dazu kein php-pgm verwenden, zugriff läuft nur minimale zeit (1 Datensatz, 5 Werte)

mmh?

Das verstehe ich nicht ganz. Meinst du sowas, dass du täglich eine Mail mit den Zugriffen bekommst?

Dann könnte man das mit einem cronjob machen, der ungefähr so ein Script aufruft:

[PHP]

<?php mail(Empfängeremail, Betreff, $Zugriffe, "From: Absender "); ?>

[/PHP]

den cronjob an sich habe ich:
[php]

<?php include('zugangP.php'); $sqlab = "select * from tblbes"; $res1 = mysql_query($sqlab); if(!$res1) { echo "tblbes Folgender Fehler trat bei der Abfrage auf: " . mysql_error(); exit; } else { $num = mysql_num_rows($res1); } if ($num==0) { echo"Keine Daten vorhanden, Abbruch"; exit; } else { while ($dsatz1 = mysql_fetch_assoc($res1)) { $mittlg="Startseite: " . $dsatz1["BESHOME"] . "Abstammung: " . $dsatz1["BESABST"];; } } $empfaenger="horsetotal@yahoo.de"; $betreff="Statistik Besucher "; $text = $mittlg; $sender = "TEST"; // Zuname Absender $sendermail ="test@yahoo.de"; // email absender mail($empfaenger, $betreff, $text, "From: $sender <$sendermail>"); ?>

[/php]

Was ich nicht weiss, wie und wo stelle ich diesen auf meinem webserver ein, ist z. B. ein bestimmter pfad erfoderlich o. ä.

Ok,
wenn ich das richtig sehe, wird beim Aufruf dieses Scriptes eine Mail verschickt? Wenn ja, musst du nur einen Cronjob erstellen, der dieses Script aufruft.

Zum Beispiel hier:

cronjob.de

Erstell dir dort einen cronjob und ruf damit dein Script auf, fertig.

Du musst natürlich sicherstellen, dass nicht jeder das Script aufrufen kann, sonst bekommst du ne Menge Mails. :slight_smile:

Mfg Mo3bius