【问题标题】:What would be a good approach to check a lot of websites if they have a code installed? [closed]如果他们安装了代码,那么检查很多网站的好方法是什么? [关闭]
【发布时间】:2012-03-27 00:29:07
【问题描述】:

这更像是一个策略问题:

我需要定期检查一长串网站是否安装了代码。我不能一次检查所有这些。怎么做?我的服务器上有 PHP。

我应该使用 cURL 和正则表达式吗?还是 file_get_contents()?

【问题讨论】:

  • “已安装代码”是什么意思?您如何检查单个网站是否安装了“代码”?
  • 我想检查他们的源代码中是否有 sn-p 代码。类似于谷歌分析跟踪代码的东西。
  • -1 不清楚

标签: regex curl cron


【解决方案1】:

您可以使用 cron 作业 (http://www.webmasters-central.com/article-blog/tutorials/cron-tutorial-managing-cron-tab-or-cron-job-is-easy/)

  1. 首先在数据库中创建一个表,用于跟踪每个网站的最新“检查”时间(使用 unix 时间)。
  2. 计算每次运行 cron 作业时需要多少次网站“检查”(比如说 10 次)。
  3. 创建一个 php 脚本,收集 10 个最旧的“已检查”网站并使用 curl 检查这些网站。
  4. 用每个网站的当前“检查”时间更新表格。
  5. 算出这个 php 脚本必须多久运行一次才能更新整个列表。 假设您有 100 个网站,并且您希望所有这些网站每小时更新一次。每次运行 cron 作业时,它都会检查 10 个网站。然后这个 cron-job 必须每小时运行至少 10 次才能完成这项工作....

这将在所有网站上创建一个循环,但会限制每个请求。 您必须进行一些试验测试,看看您每次可以检查多少个网站,然后使用 cron-job 实现它...

祝你好运!

【讨论】:

  • 这很有帮助。我喜欢每次用一个数字检查它们的想法。
【解决方案2】:

我认为任何一个都可以。但要确保代码实际运行,并假设您对安装的代码有一定的控制权,只需确保代码在您的服务器上请求某些内容,然后您可以让 PHP 启动一个访问网站的浏览器窗口,然后等待请求。

【讨论】:

    【解决方案3】:

    根据@Paolo_NL_FR 的回答,我做了以下事情。

    1. 为每个项目添加了一个标志is_live,默认为0
    2. 为每个项目添加了 last_check(日期)
    3. 创建一个根据 last_check 日期检查最近 10 个站点的文件
    4. 每个项目的检查都是通过 cURL 使用正则表达式完成的
    5. 检查后,我将项目标记为活动与否
    6. 添加一个 cron 来每天运行文件

    如果您有 100 项要检查,则每 10 天检查一次。如果您想要更频繁,您有多种选择: - 你每天运行 cron 两次,每 6 小时运行一次,等等 - 每次运行检查超过 10 个站点

    就是这样。太棒了,谢谢大家!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-18
      • 2021-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2023-04-02
      • 1970-01-01
      相关资源
      最近更新 更多