跳转到主要内容
wfyanmnm 提交于 10 January 2013

跟随下边的说明来实现在windows机器上设置在指定时间执行cron.php.如果您不熟悉linux/unix,或者您的web主机不支持cron任务,那么这个方法会很有用;您可以在您的电脑上远程执行它们。

注意:这些说明是为windowsXP写的,不过在其它版本的windows上的操作类似。

创建一个计划任务

  1. 打开任务计划程序
  2. 开始 > 程序 > 附件 > 系统工具 > 任务计划程序
  3. 双击添加计划任务
  4. 添加计划任务向导将会出现。点击下一步
  5. 选择将要运行的应用。从列表中选择浏览器(例如,Internet Explorer或Mozilla Firefox)。点击下一步
  6. 给这个任务一个名称,例如Drupal Cron 任务,选择执行任务的频率(例如,每天),点击下一步
  7. 选择明确的日期和时间选项(根据您前一步的选择,这一步可能会有不同)。完成后,点击下一步
  8. 如果有提示,请输入您的密码。如果需要的话(例如,如果您因为安全原因想使用一个拥有少量权限的用户来执行任务),请改变用户名。点击下一步
  9. 在最后一步,选中复选框在单击“完成”时,打开此任务的高级属性并点击完成

配置任务

  1. 通过选中上一步中的复选框或者双击任务来打开任务设置页面。
  2. 运行框中,当文字出现后,(如C:\PROGRA~1\MOZILL~1\firefox.exe),输入一个空格并且把您的网站的cron.php页面地址加上双引号后输进去(如,C:\PROGRA~1\MOZILL~1\firefox.exe http://www.example.com/cron.php
  3. 要设置一个比每天更高的频率(如,每小时),点击计划面板,然后点击高级。您可以设置一些参数如重复任务,每1小时,持续23小时。结束后点击完成
  4. 改变起始时间从现在开始1分钟,这将允许您测试任务,确保它能正常工作。
  5. 当您完成所有的设置,点击应用完成(提示:您可能会被要求输入密码)

命令行版本

另一种实现上边操作的方法是在命令行下使用命令schtasks(或Windows 2000中的at)。要重复上边的例子,使用Firefox每小时运行http://www.example.com/cron.php, 打开命令行(开始 > 程序 > 附件 > 命令行工具)并输入:

http://www.example.com/cron.php

schtasks /create /tn "Drupal Cron Job" /tr "C:\PROGRA~1\MOZILL~1\firefox.exe http://www.example.com/cron.php" /sc hourly

可能会提示您输入密码。

使用wget for Windows运行cron

不管您是因为什么原因不愿意使用浏览器窗口,您可以使用wget, windows版的wget跟UNIX下的使用起来类似。crul和lynx同样拥有windows版,不过wget很可能是配置和使用起来最简单的了。

作者的网站SourceForge网站下载wget的安装包。把它装到您想安装的地方。

照着上边创建一个计划任务的步骤,除了将wget.exe作为执行程序(如果您是通过.zip包安装的程序,您可能需要点击浏览按钮去定位它)。当您打开高级属性的对话框时,将下边的内容粘贴进去:

-O - -q -t 1 http://www.example.com/cron.php

校准上边剩下的参数并且测试一下

将Winodws 7(或Vista)的cmd.exe中的curl加入计划任务

  • 运行计算机管理(Windows键,右键点击我的电脑,选择管理……)
  • 在右边一栏,选择创建任务……
  • 填写常规选项卡
  • 触发器选项卡下,选择新建……,然后设置您想要的时间,并在高级选项中设置重复次数
  • 动作选项卡中
  • ,选择执行一个程序,这个程序是CMD.EXE.在可选参数中输入/C "curl [状态报告页中提到的链接]".

如果您已经安装了mysysgit,那么curl已经在您的系统路径中。

在Windows 7(或Vista)下边使用schtasks和curl

想象一下,您已经安装了上边提到的mysysgit... 以管理员身份运行cmd.exe,然后输入下边的命令:

C:\Windows\system32>schtasks /create /sc HOURLY /tn DevCron /tr "cmd.exe 'curl --silent --compressed http://[[hostname]]/cron.php?cron_key=VOYz8P63mnytd0mHVwFE1jrXfRfNYU9KZiKB1Ou1Rh8'" /ru SYSTEM

[[hostname]]是这篇文档根目录的TLDN, /tn是想要的任务名字(这里是DevCron).

上边的命令产生了一个可以每个小时运行,无限期持续下去的任务。