与我的提供商在线设置了一个 cronjob 来执行 Silverstripe dev/tasks/MyTask 每天向收件人发送电子邮件。
在线工作 cronjob:
30 6 * * 1-7 /usr/bin/php56-cli /var/home/mysite/framework/cli-script.php dev/tasks/MyTask > /dev/null 2>&1
在 macOS 上,我运行 MAMP PRO 5.7,并使用 http://localhost/mysite 访问我的所有网络内容......
现在我尝试让 cronjob 在本地主机上运行但没有成功。
在终端我做:
crontab -e
* * * * * /Applications/MAMP/bin/php/php7.4.2/bin/php http://localhost/4_11/dev/tasks/MyTask > /dev/null 2>&1
我已在系统偏好设置/安全和隐私中向 /usr/sbin/cron 授予完整光盘访问权限。
我收到一封 Cron Daemon 电子邮件告诉我:
无法打开输入文件:http://localhost/4_11/dev/tasks/MyTask
(如果直接通过浏览器运行该任务就可以工作。)
我错过了什么?
http://localhost/4_11/dev/tasks/MyTask
不是文件。 这是一个 URL 网址。
尝试使用
wget
命令将文件下载到您的主机。
wget http://localhost/4_11/dev/tasks/MyTask -o /tmp/MyTask.php
而不是在您的
/tmp/MyTask.php
任务中使用 crontab
。
* * * * * /Applications/MAMP/bin/php/php7.4.2/bin/php /tmp/MyTask.php > /dev/null 2>&1