【问题标题】:Set cron job for absolute path为绝对路径设置 cron 作业
【发布时间】:2012-01-17 08:53:38
【问题描述】:

我正在使用 MVC 框架。现在我想设置 cron 以便执行 URL“http://www.xyz.com/controllera/functiona”。我应该在它的路径部分写什么。

我得到了一些关于“GET”命令的信息,但不清楚。

有人可以帮我解决吗?

【问题讨论】:

  • 语言是php,平台是linux
  • 你说的 PHP 中的 MVC 框架是什么?

标签: php linux cron absolute-path


【解决方案1】:

由于您没有指定任何框架,因此运行此 cron 的唯一方法是此命令

  wget --spider 'http://www.xyz.com/controllera/functiona'

我假设您使用的是 MVC 框架,因为 controllera 在 url 中。如果它是 Kohana (2.3) 框架,我会通过

运行它
  /usr/bin/php /path/to/index.php controller/method

大多数框架都有 cli 接口来运行控制器方法。搜索您的框架。

查看这些链接了解不同的框架。

  1. Zend Framework
  2. Kohana 2 & 3
  3. Codeignier
  4. Yii

【讨论】:

    【解决方案2】:

    我不明白您问题的“模块称为 cron”部分。我相信你很困惑,cron 是通过crontab 配置的 Linux 和其他 Unix 系统上的服务。

    crontab(5) 条目由时间和日期以及要运行的命令定义。

    在 Linux 和 Posix 系统上,您无法执行或运行 URL。运行某些东西涉及到execve(2) 系统调用,它需要一个可执行文件路径(和参数)。

    也许您想使用HTTP 协议检索一些URL。您可以使用命令行 HTTP 客户端,例如 wgetcurl

    所以也许你想在你的 crontab 中运行的命令可能是

     wget http://www.xyz.com/controllera/functiona
    

    但你可以使用curl

    我的猜测是你很困惑,并且对你的问题理解得不够好。考虑阅读一些材料。

    例如,要在每天下午 3 点检索该 URL,您将具有以下 crontab 条目:

       # run everyday at 3 pm a GET HTTP request
       0 15 * * *  /usr/bin/wget http://www.xyz.com/controllera/functiona
    

    使用crontab(1) 命令配置您的 crontab(可能包含多个条目和多个变量定义,因此您可能需要对其进行编辑)。

    【讨论】:

    • 我知道 cron 是 linux 的一项服务,并且声明“Module called cron”意味着我在 mvc 框架中有一个名为 cron 的模块(它可以更改为任何内容,例如 aaa , bbb 等)我的问题可以被认为是简单的“为绝对 URL 设置 cron”
    • 那你应该参考你的MVC框架文档(你没有命名,我不知道你在说什么MVC框架)。也许您的框架使用 cron 词用于其他目的。
    • Cron 在 IT 术语中只有一个定义。正如我告诉你的那样,模块名称 cron 可以替换为任何其他单词..
    • 那我的回答是合适的。
    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2021-09-01
    相关资源
    最近更新 更多