2013-05-04 9 views
12

Ich versuche, einen Cron-Job für einen Befehl zu entwickeln, den ich bereits erstellt habe. Ich bin völlig neu in Cron-Jobs, also weiß ich nicht wirklich, wie es funktioniert.Cron Job in Laravel

Der Befehl von mir selbst in der Konsole funktioniert perfekt. Alles, was ich brauche, ist, es alle 24 Stunden ausführen zu können. Ich benutze Laravel 4, kann jemand helfen?

Danke!

Antwort

25

Um einen cron-Job als root zu erstellen, bearbeiten Sie Ihre Cron-Datei:

[sudo] crontab -e 

eine neue Zeile am Ende hinzufügen, jede Zeile Job ist ein cron:

25 10 * * * php /var/www/<siteName>/artisan <command:name> <parameters> 

Dies wird den gleichen Befehl, um 10:25 Uhr jeden Tag auszuführen.

Nur sicherstellen, dass Sie eine leere Zeile nach der letzten halten. Und Sie könnten auch benötigen Sie den vollständigen Pfad des PHP-Client verwenden:

25 10 * * * /usr/local/bin/php /var/www/<siteName>/artisan <command:name> <parameters> 
+3

Führen Sie es nicht als root, wenn Sie es helfen können - nur "crontab -e" als normaler Benutzer. Auch ich denke du hast einen zu viele '* s da. –

+0

Sie hatten Recht, ich habe nur die Stunde hinzugefügt und vergessen, ein * zu entfernen. Vielen Dank. –

+0

Danke für den Tipp auf die leere Zeile. Allerdings würde meins nicht funktionieren, bis ich einen absoluten Pfad zu 'php' angegeben habe, wie zum Beispiel' * * * * */usr/local/bin/php/Benutzer/myusername/Projekte/pfad/zu/laravel_app/artisan Befehl: Name' – ErikTheDeveloper

3

Sie könnten Ihre Cron-Job wie folgt registrieren:

php /path/to/your/laravel/project/artisan your-custom-command 
1

Siehe meine Antwort auf this question, mein Beispiel für L3 ist, sollte aber für Laravel 4 entsprechend arbeiten.