2016-07-25 8 views
0

Ich habe eine Reihe von Skripten (PHP Symfony2), die über Cron ausgeführt werden sollen, aber einige nicht korrekt ausgeführt werden.Cron nicht Skripts auf Ubuntu-Server

Beispiel Aufruf:

* * * * * php /var/www/admin/app/console notification:send --env=prod 

Ich sah Ausführung jeden Scripts mithilfe von grep CRON /var/log/syslog aber als Ausgang Überprüfung von >>/var/log/cron*.log mit Ich sehe keine Ausgabe oder Fehler.

Wenn ich Skripte manuell ausführen, ist alles in Ordnung. Der Server ist unter Ubuntu (Digital Ocean) Irgendwelche Ideen? Danke

+0

Geben Sie eine Lektüre zu [Warum Crontab mein PHP-Skript nicht ausführt?] (Http://Stackoverflow.com/a/17362250/1983854) – fedorqui

Antwort

0

OK gelöst. Ich muss php5 -f ... verwenden

0

Wenn Sie Ihren Befehl direkt in bash ausführen, gibt es Ausgabe/Fehler?

Wenn Sie sagen, Sie verwendeten >>/var/log/cron*.log meinst du, dass Sie das am Ende Ihrer Cron-Linie? Es gab absolut keine Ausgabe in der Datei?

Versuchen Sie eine Zeile wie diese, so dass Sie Fehlerausgabe in der Protokolldatei erhalten auch:

* * * * * php /var/www/admin/app/console notification:send --env=prod >> /var/log/cron*.log 2>&1 

oder alternativ versuchen, diese eine E-Mail über den Ausgang/Fehler zu erhalten, wenn es läuft:

[email protected] 
* * * * * php /var/www/admin/app/console notification:send --env=prod 

Es gibt Randfragen, wo die Dinge anders funktionieren, wenn sie von cron vs Laufe von dem Benutzer ausgeführt, so vergleichen Sie die Ergebnisse mit Ihrem Handbuch läuft, fügen Sie bei der Fehlersuche/ausführliche Ausgabe-Anweisungen an das Skript und betrachten Berechtigungen und Umweltfragen, wenn Sie finde es an einer bestimmten Linie haltend.

+0

direkt in bash, gibt es keine Fehler. Ich habe sogar einen Code in meinem Skript eingerichtet, um die Ausführung in die Datenbank zu protokollieren. Ausführung wird nur gespeichert, wenn ich den Befehl manuell und nicht über Cron ausführen (sogar Befehle, die effektiv funktioniert) ... – Yohann

+0

Bei der Protokollierung mit >>/var/log/cron.log habe ich: PDOException, Treiber – Yohann

+0

nicht gefunden OK gelöst. Ich muss php5 -f verwenden ... – Yohann