Cron 作业的文件路径

Posted

技术标签:

【中文标题】Cron 作业的文件路径【英文标题】:File path for a Cron Job 【发布时间】:2011-03-09 20:18:59 【问题描述】:

您好,我想在我的服务器上运行一个 cron 作业来调用 php 脚本。 我正在使用来自我的网络主机的 Cpanel,这些是选项:

分钟: 小时: 日期: 月份: 工作日: 命令:

我真的很难将命令指向我的文件 我正在使用这一行 /home/abbeysof/public_html/adi/cron/daily.php 但我收到了这个错误:

/bin/sh: /home/abbeysof/public_html/adi/cron/daily.php: 权限被拒绝

我向我的虚拟主机寻求帮助,这是回复:

如果您使用 cpanel 创建它,它会为您填写路径。通常 /home/username/public_html/etc

谁能给点建议?

【问题讨论】:

【参考方案1】:

对不起,我对cpanel一无所知,但听起来像:

如果您创建了daily.php文件,那么您需要更改它的权限 如果他们创建了文件,那么他们的创建例程中存在错误。

祝你好运!

【讨论】:

【参考方案2】:

听起来你需要使/home/abbeysof/public_html/adi/cron/daily.php 可执行。

【讨论】:

【参考方案3】:

建议一:使用 wget 命令,wget 运行 PHP 脚本就像从 web 调用它一样,所以 PHP 环境与从 web 调用文件时完全一样,更容易然后调试你的脚本。

wget -O - http://yourdomain.com/adi/cron/daily.php >/dev/null 2>&1

必须在 cPanel cron 作业菜单中创建 cron 作业。我不明白您是否通过阅读房东的回答来清楚这一点。

并建议 2:更改虚拟主机,尝试 this one 他们不会让你一个人呆着。

【讨论】:

你的解释拯救了我的一天:)谢谢! wget 创建临时文件。检查这个***.com/questions/11375260/… @amilaishere 你只需使用-O - 选项将STD_OUTPUTSTD_ERROR 重定向到黑洞"/dev/null" 我更新了问题的代码【参考方案4】:

试试这个

/usr/bin/php -q /home/yourCpanelUsername/public_html/filename.php

对于某些 cpanels 可能是这样的

/usr/local/bin/php -q /home/yourCpanelUsername/public_html/filename.php

【讨论】:

【参考方案5】:

该链接可能会对您有所帮助。 https://www.inmotionhosting.com/support/edu/cpanel/how-to-run-a-cron-job

如果您使用 VPS 而不是共享主机来发出命令,这会有所不同。 您可能需要使用user-agentcPanel-Cron 以及您的网址。 curl --user-agent cPanel-Cron http://example.com/cron.php

【讨论】:

以上是关于Cron 作业的文件路径的主要内容,如果未能解决你的问题,请参考以下文章

cron 作业在 cpanel 中无法正常工作

CRON 作业不断出错

如何让 CRON 调用正确的路径

相对路径在 cron PHP 脚本中不起作用

在 cron 中设置路径,以便它可以找到 ruby

如何通过 cron 作业执行 Node.js 脚本?