您可以使用cPanel的Cron Job功能运行Unix命令,还可以自动执行PHP,Perl或Python脚本。要创建Cron作业,请先登录cPanel并选择“ Cron作业:”
Cron作业使用以下时间字段序列:
[分钟] [小时] [日] [月] [工作日] [命令]
48 09 * * * / my / script -v
该程序每天早晨9:48 AM运行。 *是通配符,表示“每天/每月等”。 48 09 * * * =每月的第9小时的每48分钟。 为了清楚起见,“工作日”的设置应解释为星期几,包括星期六和星期日。许多人将工作日视为星期一至星期五,但是在提到cron作业设置时,实际上是指一周中的每一天。
重要:
建议不要将Cron Jobs安排在小时的顶部或底部。请记住,您不是服务器上可能正在使用cron作业的唯一用户。如果所有cron作业是在同一时间安排的,则服务器在尝试执行所有脚本时会降低服务器性能。因此,例如,设置cron作业运行的最佳时间可能是在一个奇怪的分钟,例如上面的示例。它定于每天早上9:48运行。 通过在奇怪的时间设置cron作业执行,有助于将服务器性能保持在最佳水平。
该命令应包含两个部分:
[要运行的程序(perl / pyth。/ 的PHP )] [开关] [脚本]
要运行的程序将指定您正在执行的脚本的类型,并且可以是:
该脚本将需要直接连接到其在我们服务器上的位置,因此它类似于: / home /用户名/ public_html / path / to / script,带有“用户名”作为您的用户名。
通过wget运行的大多数脚本都可以通过Cron Jobs允许的lynx或curl命令运行。确保在您运行的任何天猫或curl命令中设置用户代理。如果未设置用户代理,则服务器上的mod_security规则将阻止命令运行。例如:
卷曲 -A -s useragent(URL)
卷曲 -A "Mozilla 4.0" http://mydomain.com/myscript.php
天猫座 -dump -useragent(URL)
员工 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-07-03 2:46上午
我正在尝试使用平面网址添加cronjob domain.com/controller/action
这是行不通的。 代码正确,并且可以在另一台服务器上工作。 |
![]() 员工 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的例句:
直接从按预期执行的终端运行命令,但从crontab运行该命令将导致仅执行脚本“ index.php”,而不包含参数。最后,使用参数“ 的PHP -cli”而不是“ 的PHP ”来使脚本正确运行并带有参数:
|
我们重视您的反馈!
说明中缺少步骤或细节。
该信息不正确或过时。
它不能解决我遇到的问题。
新! -在上方输入您的姓名和电子邮件地址,我们将在此页的评论中发布您的反馈!