如何在 cPanel 上运行 CRON 作业?
Posted
技术标签:
【中文标题】如何在 cPanel 上运行 CRON 作业?【英文标题】:How to run CRON jobs on cPanel? 【发布时间】:2019-06-30 23:17:31 【问题描述】:我正在尝试在 cPanel v. 76.0.18 上设置 CRON 作业,我得到“未指定输入文件”(NIFS),并查看了其他帖子(例如,NIFS1、NIFS 2、NIFS 3 , NIFS 4),不知道怎么解决。
我的 CRON 作业示例:
*/10 * * * * /usr/bin/php -q /home/dir/dir/cron_dir/file-1.php
0 * * * * /usr/bin/php -q /home/dir/dir/cron_dir/file-2.php
* * * * * /usr/bin/php -q /home/dir/dir/cron_dir/file-3.php
0 * * * * rm -rf /home/dir/dir/data_dir_1
0 0,6 * * * rm -rf /home/dir/dir/data_dir_2
0 0,4 * * * rm -rf /home/dir/dir/data_dir_3
如何解决“未指定输入文件”错误?
感谢百万人!
【问题讨论】:
HTACCESS 不适用,因为 CRON 在 Apache 之外运行 PHP。例如,检查 CLI 上不存在的$_SERVER['SERVER_ADDR']
,因为 web 服务器不存在(就 PHP 而言),如果可以的话,我会首先通过 SSH 在服务器的 SHELL 中手动运行它。这将告诉你脚本是否可以运行,然后一旦你完成了,你可以将相同的命令复制到 Cron。 SSH 使用运行的 PHP 用户很重要(在 Cpanel 中通常是 Cpanel 用户)
可能发生的一件事是文件可能已由 root(或其他用户)上传,在这种情况下,C-Panel 用户可能无权运行这些文件。如果您 100% 确定路径是正确的,那么这就是最可能的原因。说清楚,这就是我在上面说这个的原因Its important to SSH in using the PHP user that runs [CRON]
了解 CLI(或本例中的 CRON)可以使用与服务器不同的 php.ini
文件也很重要。通常我看到这个名为cli-php.ini
,所以如果你有任何设置,比如 TimeZone,请确保你意识到这一点。
我几乎会把钱花在获得许可上。另一件事是大小写,Linux 区分大小写。我曾经花了 5 个小时尝试用image.jpg
加载图像image.JPG
....
嗨,艾玛!我在 Suggested Edits Queue 中遇到了您的一些建议编辑,我注意到您的编辑评论总是与“只是改进问题????????????”略有不同。我会鼓励您编写更具描述性的编辑 cmets。 (关注如何让问题变得更好)。感谢您通过编辑为社区提供帮助的努力!
【参考方案1】:
如果命令直接在 CLI 中正确执行,您可以尝试将其放入 .bash 文件并在 cron 中引用该文件。我在 cron 中看到了一些奇怪的命令问题,有时将其包装在脚本中会有所帮助。
如果它 /doesn't/ 在 CLI 中正确执行,那么您可以从那里开始:p
【讨论】:
以上是关于如何在 cPanel 上运行 CRON 作业?的主要内容,如果未能解决你的问题,请参考以下文章