我正在运行Digital Ocean的Ubuntu 16.10 x64,并在服务器上部署了php Framework Laravel 5.3.28。
在大多数情况下,一切都正常工作,但是我试图让crontab调用像php artisan schedule:run
这样的工匠命令,以便laravel的任务调度程序可以使用。
我不希望下载任何额外的软件包以使其工作,因为我觉得不应该真的需要,因为如果正确编码,cron可以调用任何命令。
我正在尝试做什么:
从crontab -e
内部我正在尝试正确编写Ubuntu正确的方式来调用php artisan schedule:run
我做了什么:
我目前尝试了多种不同的编写此命令的方法,但没有任何工作方式如下所示:
#Attempt for cron
SHELL=/bin/bash
#PATH=????? <---Confused if this is even needed
* * * * * php /path/to/artisan scheduled:run 1>> file.log 2>&1
* * * * * /path/to/php artisan scheduled:run 1>> file.log 2>&1
* * * * * /path/to/php artisan scheduled:run >> file.log
* * * * * /path/to/php artisan scheduled:run 1>> file.log
* * * * * /path/to/php artisan schedule:run
* * * * * /path/to/php /path/to/artisan scheduled:run 1>> file.log
我已经去了多个资源尝试找到答案,但似乎没有什么能解决我的具体问题。
资源:
https://laracasts.com/series/intermediate-laravel/episodes/2?autoplay=true
http://laravel.io/forum/03-05-2014-automated-mysql-backups?page=1
https://laracasts.com/discuss/channels/laravel/setting-up-larvel-cron
https://community.centminmod.com/threads/how-to-run-a-cron-job-properly.2287/
https://laracasts.com/lessons/recurring-tasks-the-laravel-way
https://laracasts.com/index.php/discuss/channels/laravel/laravel-artisan-commands-trough-cron-tab
https://deploybot.com/guides/deploy-a-laravel-app-to-digitalocean
结论:
此时我已经陷入困境。有人可以帮帮我吗?我所要做的就是使用Ubuntu的cron调用php artisan命令,我不知道确切的方法。任何和所有的帮助都非常感谢。
提前致谢,
节日快乐!!
答案 0 :(得分:3)
我们走了。这就是我的样子。 :)
* * * * * php /home/spacemudd/laravel/artisan schedule:run >> /dev/null 2>&1
答案 1 :(得分:1)
您的几个crontab条目应该可以使用。如果它们似乎不起作用,则下一个问题是您是否安装了php-cli
包裹?没有它,您将无法通过命令行运行php脚本,只能通过Web服务器运行。如果您还没有我建议通过以下方式安装php7.0-cli:
sudo apt-get update
sudo apt-get install php7.0-cli
案例可以,当您通过sudo apt-get install php7.0-fpm
下载php7时,它下载的版本可以与Laravel 5.3一起使用,但不一定适用于使用Ubuntu调用php命令的cron作业。这是一个假设但我觉得可能仍值得调查。