我已经设置了Laravel调度程序以在特定时间运行我的自定义命令。现在我想在Digitalocean服务器上设置cron,每分钟触发schedule:run
以检查是否在给定时间安排了某些事情。
在初始SSH到服务器之后,我运行了crontab -e
并向其添加了以下行:
* * * * * php /var/www/Laravel artisan schedule:run >> laravel_cron.log
但我遇到的问题是我没有看到laravel_cron.log
中写的任何内容,但它确实被创建了,所以现在我不知道我的命令是否真的会被运行。
为了测试它,我尝试输入php /var/www/Laravel artisan
但是在命令行中没有输出。
如果我改变路线说xyz/www/Laravel
,说它找不到它,所以我猜路线设置得很好。此外,当我手动转到Laravel文件夹并在中间没有路径的情况下运行php artisan
时,我得到了标准输出。
答案 0 :(得分:1)
我相信命令sendOutputTo
不会返回任何输出。
如果要记录任务的输出,可以使用emailOutputTo
或$schedule->command('foo')
->daily()
->sendOutputTo($filePath)
->emailOutputTo('foo@example.com');
e.g。
{{1}}
可以找到更多示例here