【问题标题】:How to : executing a block of code every 24 hours in a server?如何:在服务器中每 24 小时执行一次代码块?
【发布时间】:2011-10-31 02:25:54
【问题描述】:

我想每 24 小时从网站获取某些数据。该代码必须每 24 小时执行一次并更新 MySQL 数据库。我如何在没有任何用户事件的情况下完成此操作?

稍后我将使用相同的数据来找出总差异。

totalIncrement = currentData - earlyData

早期数据是从 MySQl 数据库中获取的,而当前数据是从外部网站查询中获取的。

我听说过 linux 上的 cron,但从未尝试过。任何机构都可以给出一个基本的想法吗?或任何可靠的链接?

也许我想这样做::

首先创建一个 PHP 程序/文件来完成获取工作。 第二次每隔 24 小时左右执行一次那个 PHP 文件...

【问题讨论】:

  • cronjob 绝对是您要找的。互联网上有大量资源解释它们是什么以及如何使用它们。你可以从en.wikipedia.org/wiki/Cron开始。
  • 您是否尝试过 Google 获取有关 Cron 作业的教程?来吧,伙计——你至少要努力。
  • @Lucanos。为了搜索 Cron 作业,您需要知道它被称为“cron 作业”。当我切换到 Linux 时,这并不明显。
  • @AlexanderPogrebnyak:同意,但在他的实际问题中,他提到“cron”-“我听说过 linux 上的 cron,但从未尝试过。 ”所以这并不是说他没有什么可做的。

标签: php mysql linux web


【解决方案1】:

打开一个外壳。
(停止 crond 服务 service crond stop)
使用 vi(或其他编辑器)编辑 cron 文件或键入“crontab -e”进行编辑。
编辑后点击“ESC”。然后“:wq”,保存退出。
再次启动服务service crond start
如果使用 crontab -e,则不需要停止和启动服务。

您的脚本现在应该正在运行。 检查语法herehere。 要查看您所做的更改,请键入“crontab -l”。

我希望这会有所帮助。

【讨论】:

  • -1: cron 既不需要 root 访问权限(默认情况下允许大多数用户使用),也不需要重新启动守护程序来获取新的 crontab 文件。此外,您有效地告诉人们如何使用“vi”。当然 crontab -e 不(必须)使用“vi”,它可以使用 VISUAL 环境变量中的任何编辑器。一些发行版默认使用另一个编辑器。
  • crontab -e 可以调用“vi”,具体取决于它的配置方式。这种情况下不需要重启服务;非root用户也可以使用。
  • 在现实生活中,您必须停止服务才能进行任何更改,因为许多脚本是相互依赖的。例如更改其他脚本读取的表。
【解决方案2】:

在编辑 crontab(5) 时忽略启动和停止 cron 守护程序的建议是安全的。 crontab(1) 实用程序通知 cron 守护程序需要重新读取 crontab(5) 文件并且更改将立即生效。您需要重新启动 cron 守护程序的唯一原因是,如果您在没有 crontab(1) 实用程序的情况下直接编辑了 crontab(5) 文件。

【讨论】:

  • 请考虑对与此相关的答案发表评论。我认为你的观点是有效的。
【解决方案3】:

首先你必须为这个例子创建一个 php 文件 cron.php

因此,每当您访问此链接 www.yourdomain.com/crom.php 时,都会执行脚本

现在在 cron 作业中添加此链接。要在您的服务器上设置 cron 作业,您可以使用 this php 类

【讨论】:

  • 为什么每个人都在不解释他所说的错误的情况下投反对票?
猜你喜欢
  • 2012-09-02
  • 2010-11-25
  • 1970-01-01
  • 2020-07-13
  • 1970-01-01
  • 2020-03-05
  • 2011-07-20
  • 2014-03-25
相关资源
最近更新 更多