phil333
Goto Top

Debuggen eines PHP cronjobs

Hallo,

seit kurzem beschäftige ich mich mit Webservern und habe mir auf einen Testserver (Debian Lenny amd64) das OpenSource Tool SysCP installiert.
Alles läuft soweit, jedoch brauche ich Hilfe beim Finden eines Fehlers und hoffe, dass ihr mir weiterhelfen könnt.

SysCP startet regelmäßig cronjobs um verschiedene Aufgaben zu erfüllen.
#
# Regular cron jobs for the syscp package
#
*/5 * * * *     root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php
0 0 * * *       root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_traffic.php
30 0 * * *      root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_ticketarchive.php
0 1 * * *       root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_used_tickets_reset.php
*/5 * * * *     root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php

Leider scheinen die Scripte jedoch einen Fehler zu haben und einige Cronjobs bleiben willkürlich hängen.
D.h. ps aux | grep CRON gibt mir mehrere nicht beendete /USR/SBIN/CRON aus .

Wie kann ich einen etwaigen Fehler mitloggen?

Das Entfernen des -q Switches hilft leider nicht, da CLI Scripte stets im Silent-Mode ausgeführt werden.
CLI wird standardmäßig im stillen Modus gestartet, dennoch gibt es die Optionen -q und --no-header aus Kompatibilitätsgründen noch, so dass Sie auch ältere CGI-Skripte noch benutzen können. 1

Auch folgende Änderungen in der /etc/php5/cli/php.ini loggen keine Fehler mit:
error_reporting  =  E_ALL
log_errors = On
error_log = /var/log/phpcli.log

Ich hoffe jemand kann mir helfen, den Grund für die nicht terminierenden cronjobs zu finden.

Vielen Dank im Voraus!

Content-Key: 112934

Url: https://administrator.de/contentid/112934

Printed on: April 25, 2024 at 02:04 o'clock

Member: godlie
godlie Apr 01, 2009 at 10:57:05 (UTC)
Goto Top
probier mal:
/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php >> /var/log/foobar 

oder diesen hier dann hast stdout und sterr dabei:
/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php  &> /var/log/foobar

dann sollte eigentlich alles was ausgegeben wird dorthin geleitet werden.
Member: phil333
phil333 Apr 02, 2009 at 11:58:01 (UTC)
Goto Top
Habs mit folgenden Varianten versucht

/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php >> /var/log/foobar 
/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php 1>> /var/log/foobar 
/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php 2>> /var/log/foobar 
/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php &> /var/log/foobar 

Trotz hängender cronjobs wurde leider keine Fehlermeldung hinterlegt face-sad
Kann man diesen Silent Modus nicht irgendwie abschalten?