您可以使用cPanel的Cron Job功能运行Unix命令,还可以自动执行PHP,Perl或Python脚本。要创建Cron作业,请先登录cPanel并选择“ Cron作业:”

cron1

添加新的Cron作业

Cron作业使用以下时间字段序列:

[分钟] [小时] [日] [月] [工作日] [命令]

48 09 * * * / my / script -v

该程序每天早晨9:48 AM运行。 *是通配符,表示“每天/每月等”。 48 09 * * * =每月的第9小时的每48分钟。  为了清楚起见,“工作日”的设置应解释为星期几,包括星期六和星期日。许多人将工作日视为星期一至星期五,但是在提到cron作业设置时,实际上是指一周中的每一天。



重要:

建议不要将Cron Jobs安排在小时的顶部或底部。请记住,您不是服务器上可能正在使用cron作业的唯一用户。如果所有cron作业是在同一时间安排的,则服务器在尝试执行所有脚本时会降低服务器性能。因此,例如,设置cron作业运行的最佳时间可能是在一个奇怪的分钟,例如上面的示例。它定于每天早上9:48运行。 通过在奇怪的时间设置cron作业执行,有助于将服务器性能保持在最佳水平。





指定命令以运行php脚本

该命令应包含两个部分:

[要运行的程序(perl / pyth。/ 的PHP )] [开关] [脚本]

要运行的程序将指定您正在执行的脚本的类型,并且可以是:

  • 的PHP  
  • 蟒蛇
  • 佩尔

该脚本将需要直接连接到其在​​我们服务器上的位置,因此它类似于: / home /用户名/ public_html / path / to / script,带有“用户名”作为您的用户名。

  • 要运行PHP脚本: 的PHP -q /home/username/public_html/scripts/testrun.php
  • 对于Python脚本: 蟒蛇 / home /用户名/ public_html / path / to / script
  • 对于Perl / CGI脚本: /home/username/public_html/cgi-bin/yourscript.pl

get命令的替代方法

通过wget运行的大多数脚本都可以通过Cron Jobs允许的lynx或curl命令运行。确保在您运行的任何天猫或curl命令中设置用户代理。如果未设置用户代理,则服务器上的mod_security规则将阻止命令运行。例如:

卷曲 -A -s useragent(URL)

卷曲 -A "Mozilla 4.0" http://mydomain.com/myscript.php

天猫座 -dump -useragent(URL)

您觉得这篇文章对您有帮助吗?

我们重视您的反馈!

为什么这篇文章没有帮助? (检查所有适用)
这篇文章太难了,太技术性了。
说明中缺少步骤或细节。
该信息不正确或过时。
它不能解决我遇到的问题。
您是如何找到这篇文章的?
请告诉我们如何改善本文:
电子邮件地址
名称

新! -在上方输入您的姓名和电子邮件地址,我们将在此页的评论中发布您的反馈!

您觉得这篇文章对您有帮助吗?

评论

2013-07-14 10:57下午
我有一个要运行的脚本,其中包含需要传递给它的参数,是否有解决方案?
员工
12,339 点数
2013-07-15 10:17上午
你好blaincar,

我不确定您要完成的目标,但是我通过Google搜索找到了一个论坛帖子 如何将变量传递给php cron作业。我希望这有助于您朝正确的方向前进。

如果您还有其他问题,请随时在下面发布。
Thank you,

-John-Paul
员工
2,342 点数
2013-09-16 4:38下午
你好blaincar,

是的,它可以。您需要在curl命令的URL参数周围加上双引号,否则操作系统将尝试中断HTML参数,就像它是cURL参数一样。

因此,以上文章中的示例应为:
curl -A "Mozilla 4.0" 창??http://mydomain.com/myscript.php&myparameter창??

运行WordPress WPWP-Cron Control창的工作示例插入:
curl -A "Chrome 30.0" --silent "http://www.domain.com/wp-cron.php?doing_wp_cron&62647ba73f6dd22c3be278c1cc5c027a" > /dev/null 2>&1
不适用 点数
2014-04-30 3:02下午

我正在尝试执行此Cron工作,您能帮我吗? 有人告诉我我需要一个用户代理,不知道这是什么或添加方式/方式。 谢谢您能提供的任何帮助。 Thanks!  

天猫座 "http://www.example.com/index.php?option=com_rsmail&task=autoresponders"

员工
3,713 点数
2014-04-30 3:50下午
保罗你好,谢谢你的评论。

如果您需要为cronjob指定一个用户代理,该用户代理要求像您的示例那样的特定脚本,则通常需要使用 卷曲 代替 天猫座:

卷曲 --user-agent CronJob "http://example.com/index.php"


如果您确实想继续使用 天猫座 您应该可以使用:

天猫座 -dump -useragent=CronJob "http://example.com/index.php"


如果您仍然有任何问题,请告诉我们。

- Jacob

不适用 点数
2014-04-30 4:07下午

谢谢雅各布,我确实尝试过curl,但是我不知道我的“ useragent”是什么,我在哪里得到的或者我放在那做的这项工作? 另外,您的字符串中包含“ CronJob”,我不确定我将用其中任何一个替换它。 不幸的是,我不是开发人员,但是我的开发人员耸了耸肩,告诉我要解决这个问题,因此非常感谢对外行的任何帮助。 Thanks!

保罗

员工
3,713 点数
2014-04-30 4:33下午
保罗,你好,

实际上,您可以为User-Agent字符串使用任何所需内容。大多数服务器上只有一条非常常见的ModSecurity规则,它将阻止来自空白User-Agent的任何请求。如果您使用的是网络浏览器或任何常规类型的HTTP客户端,则它们将发送自己的字符串。例如,我现在正在使用Google Chrome浏览器,这是我的User-Agent字符串:

“ Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 34.0.1847.116 Safari / 537.36”

However things like 天猫座, 卷曲get 默认情况下不包含User-Agent字符串。

我通常喜欢使用诸如 CronJob,这样当我查看网站的访问日志时,可以提醒我这些请求来自我设置的cronjob,而不是来自唯一用户。

- Jacob
不适用 点数
2014-04-30 9:51下午

谢谢雅各布,看来现在正在运作。 我真的很感谢您的帮助。

 

不适用 点数
2014-07-03 2:46上午

我正在尝试使用平面网址添加cronjob

domain.com/controller/action

的PHP -q http://domain.com/controller/action >/dev/null 2>&1

这是行不通的。

代码正确,并且可以在另一台服务器上工作。

员工
3,713 点数
2014-07-03 3:47上午
你好,shravan,

该语法看起来正确,我假设要转到您的网络浏览器中的该URL,它是否正常工作?同样显然,它需要是一个PHP脚本,当调用该URL以便PHP命令对其进行处理时运行。

You might want to try to remove the /dev/null 2>&1 part of the code so that it does email you the output of the cron job, hopefully showing any errors that might have been encountered.

有时,您还可以通过直接在cron作业中调用PHP脚本来获得更好的运气,例如:

cd ~/public_html/controller; 的PHP -q action.php

如果有任何帮助,请告诉我们。

- Jacob
不适用 点数
2014-08-18 8:52上午

我对我的cron充满信心,它们都工作得很棒,没有缺陷..问题是我的ftp的根目录充满了(filename).php1 .php2 的PHP 3等等,等等。删除它们..但是必须有一种方法来防止它们被创建...对吗?

example of cron.. 16     10,10     *     *     *     /usr/bin/wget http://www.mysite.com/blah/firstrun.php>/dev/null 2>&1 am I looking for cURL 代替 get? or -q or -a   Can youcopy paste the above and  rewrite it for me from above so its correct.   谢谢!

员工
16,266 点数
2014-08-18 12:13下午
您好伟大的网页,

您是否只是要获取帐户中保存的同一文件的更多副本?如果是这样,只需添加代码以删除当前副本(如果存在)。

另外,根据文章,curl是wget的选项。您要使用的格式是:
卷曲 -A "Mozilla 4.0" http://mydomain.com/myscript.php


Kindest Regards,
Scott M
不适用 点数
2018-01-25 12:14上午

如果有人发现它有用,请放在此处:

我的php脚本有一些问题,需要额外的参数,crontab执行了php脚本,但没有传递参数,例如crontab的例句:

的PHP index.php param1 param2 param3

直接从按预期执行的终端运行命令,但从crontab运行该命令将导致仅执行脚本“ index.php”,而不包含参数。最后,使用参数“ 的PHP -cli”而不是“ 的PHP ”来使脚本正确运行并带有参数:

的PHP -cli index.php param1 param2 param3

发表评论

名称:
电子邮件地址:
电话号码:
评论:
提交

请注意:将显示您的姓名和评论,但我们不会显示您的电子邮件地址。

相关问题

以下是我们客户提出的与本文相关的一些问题:
您想问有关此页面的问题吗?如果是这样,请单击下面的按钮!

帮助中心搜索

现有客户

电子邮件: [email protected] 票: 提交支持票
呼叫: 877-595-4HUB (4482)
757-416-6627 (Intl.)
聊天: 单击以立即聊天

询问社区

从我们志同道合的托管用户社区和Web托管中心员工那里获取有关您的问题的帮助。

不是客户吗?

从可以为您提供帮助的公司获取网络托管。