如何在 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 作业?的主要内容,如果未能解决你的问题,请参考以下文章

如何确保 cron 作业能够运行?

如何使用 cpanel cron 作业执行 .sh 脚本

如何在 cpanel 中设置 cron 作业

Cpanel 不运行我的 cron 作业

如何在共享主机中为 Lumen 应用程序设置 cron 作业(使用 CPanel)?

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