Hi Heidenreich,
Ich möchte gerne eine PHP Datei z.B. minütlich(nur als Beispiel) ausführen.
Wäre ja dann:
1 * * * * pfad/datei
Das würde die Datei nur stündlich, nicht minütlich ausführen. Denn diese Anweisung
bedeutet, dass der nachfolgende Befehl immer dann auszuführen ist, wenn die Minute
01 ist, also um 11:01 Uhr, 12:01 Uhr, 13:01 Uhr usw.
Das nächste Problem: Hinter den Zeitangaben muss ein Ausdruck stehen, der mit der
Shell ausgeführt werden kann. Im einfachsten Fall kann das der Pfad zum Script sein,
aber nur unter den folgenden Bedingungen:
1) Der Pfad muss absolut angegeben werden, bei Confixx dürfte der absolute Pfad
in etwa so aussehen: /home/www/webXX/html/ordner/script.php
(relative Pfade sind prinzipiell auch möglich, allerdings müsste man dann
wissen, in welchem Ordner (CWD) der Cron-Daemon den Befehl absetzt)
2) Das PHP-Script muss ausführbar sein, d.h. es muss das X-Bit gesetzt haben, die
Rechte für das Script könnten also z.B. 0750 oder 0755 sein, bzw. in anderer
Schreibweise -rwxr-x--- oder -rwxr-xr-x, wichtig ist wie gesagt das X für
mindestens den Besitzer, am besten auch noch für die Gruppe
3) Nur weil die Dateiendung .php lautet, führt Linux das Script deshalb noch lange
nicht mit PHP aus. Deshalb muss in der ersten Zeile eine sog. Shebang angegeben
werden, welche den Pfad zur ausführbaren PHP-Datei angibt, das dürfte unter den
meisten Linux Systemen so aussehen: #!/usr/bin/php
Es gibt aber auch noch eine Alternative: Und zwar kannst du den Befehl in der Crontab
so umbauen, dass du die Shebang Zeile im PHP-Script nicht brauchst und auch keine
Ausführrechte (X-Bit) für das PHP-Script setzen musst.
Dafür trägst du in der Crontab einfach direkt PHP ein und übergibts als ersten
Parameter den Pfad zu dem auszuführenden PHP-Script, das sieht dann z.B. so aus:
m h dom mon dow command
* * * * * /usr/bin/php /home/www/webXX/html/ordner/script.php
Stelle ich mich nur so doof an, oder ist das ganze wirklich so schwierig? Finde auch
nirgendwo ein *brauchbares* Tutorial.
Das glaube ich dir jetzt allerdings nicht ;-) Tutorials gibts genug und auch hier im
Archiv dieses Forums dürftest du einiges zu dem Thema finden.
Viele Grüße,
~ Dennis.