Crontab verwendet einen versteckten Cache?

1

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?

Der Hochstapler
quelle
bekommst du irgendeine Art von Fehler?
Ibu
1
Hast du crontab -e die Crontab bearbeitet?
fvu
Was passiert, wenn Sie genau den gleichen Befehl /usr/bin/php /var/www/vhosts/default/htdocs/agent/php/time_keeper.phpvon der Konsole (und nicht vom Browser) ausführen ?
Fiskfisk
Es ist möglich, dass Ihre PHP-Datei time_keeperaufgrund eines Include usw. fehlschlägt. Hast du deine Logbücher angeschaut?
Zak
Ich habe benutzt 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:

1

Möglicherweise müssen Sie Ihre crontab installieren - vorausgesetzt, Sie haben diese Zeile in einer Datei mit dem Namen myfile.conf gespeichert:

$ crontab myfile.conf

Beachten Sie, dass dadurch alle vorhandenen crontab-Einträge überschrieben werden.

Webmage
quelle
Ich verstehe nicht Was mache ich hier?
Crontab verfügt im Grunde genommen über eine 'Datei', die die Jobs enthält, die in welchem ​​Intervall für jeden Benutzer ausgeführt werden müssen. Sie können es aktualisieren, indem Sie es installieren (wie oben) oder indem Sie die Version bearbeiten, die crontab ausführt (durch das Flag -e). Befolgen Sie den obigen Kommentarthread - Läuft die Crontab unter einem anderen Benutzer? In diesem Fall führt crontab den alten Befehl immer noch unter einem anderen Benutzer aus, und Sie haben einen neuen Task mit dem aktualisierten Befehl unter Ihrem Benutzer angelegt.
Webmage