我试图在服务器上为ActiveCollab设置cronjob
我用这个
*/5 * * * * php "/home/bbb/public_html/tasks/frequently.php" RnuFA > /dev/null
但它总是返回错误消息:
状态:301永久移动
位置:https://mywebsite.com/
内容类型:text/html
我试图通过SSH执行该命令,它工作正常。
有人能帮我告诉我在我的服务器上什么配置需要检查这种问题吗?
谢谢你
最佳答案
官方建议使用cURL来触发计划任务,而不是可执行的PHP。目前这只是一个建议,但即将发布的版本将停止发送/tasks
文件夹,因此您将不得不使用cURL。
有许多环境(比我们预期的要多),其中一个PHP用于web服务器准备页面,另一个PHP通过命令行界面(CLI)运行。这会导致各种各样的问题,所以我们决定使用唯一的方式触发任务-通过URL。
底线-使用卷曲。文档如下:
https://activecollab.com/help/books/self-hosted-edition/scheduled-tasks-setup.html
以下是示例命令:
*/3 * * * * /usr/bin/curl -s -L "http://url/of/frequently?code=XyZty" > /dev/null
0 * * * * /usr/bin/curl -s -L "http://url/of/hourly?code=XyZty" > /dev/null
0 12 * * * /usr/bin/curl -s -L "http://url/of/daily?code=XyZty" > /dev/null
0 7 * * * /usr/bin/curl -s -L "http://url/of/paper?code=XyZty" > /dev/null
但是一定要检查activeCollab的Administration>Scheduled Tasks页面,以获得需要触发的确切url。