Früher hatte ich eine Crontab, die so lief
* * * * * /usr/bin/php /var/www/vhosts/default/htdocs/agent/time_keeper.php > /dev/null 2>&1
Es hat gut funktioniert. Jetzt habe ich das PHP-Skript in ein neues Verzeichnis verschoben und den Cron so laufen lassen
* * * * * /usr/bin/php /var/www/vhosts/default/htdocs/agent/php/time_keeper.php > /dev/null 2>&1
Der neue Cron funktioniert nicht. Die Datei ist da. Ich kann es problemlos über meinen Browser ausführen. Wenn ich die Datei zurück in ihr erstes Verzeichnis verschiebe und den alten Cron verwende, funktioniert es.
Was geht hier vor sich?
crontab -e
die Crontab bearbeitet?/usr/bin/php /var/www/vhosts/default/htdocs/agent/php/time_keeper.php
von der Konsole (und nicht vom Browser) ausführen ?time_keeper
aufgrund eines Include usw. fehlschlägt. Hast du deine Logbücher angeschaut?crontab -e
. Wenn ich das Skript von der Shell aus ausführe, funktioniert es korrekt. Das time_keeper-Skript funktioniert einwandfrei. Ich erhalte keine Fehler.Antworten:
Möglicherweise müssen Sie Ihre crontab installieren - vorausgesetzt, Sie haben diese Zeile in einer Datei mit dem Namen myfile.conf gespeichert:
Beachten Sie, dass dadurch alle vorhandenen crontab-Einträge überschrieben werden.
quelle