Cron是在特定时间运行命令的一个后台程序. 这些命令就叫做"cron jobs." Cron 可以运行在 Unix、Linux和Mac servers等系统中. Windows servers使用一个叫 计划任务(Scheduled Task) (link is external)的程序来运行命令.
对于一个适中的个人站点, 你可能会设置这些定时任务(cron jobs)每天运行一次. 对于更加活跃和站点你可能希望定时任务运行的更频繁——或许每几个小时或每个小时. 这种定期的访问会告诉drupal执行周期性的任务,并且帮助你让你的系统流畅运行.
这有一个视频, 如何设置drupal的计划任务 (link is external) 主要讨论cron并且讲述各种配置计划任务的方法.
cron命令
下面的实例中,定时任务命令会在指定的时间自动激活计划任务:
0 * * * * wget -O - -q -t 1 http://www.example.com/cron.php
上面的例子中, 参数0 * * * *
代表任务将要执行的时间. 第一个数字代表分钟——在这个例子中, 是在零分钟时, 或指定小时的开始. (如果这个数字是10, 那么指定的动作会在小时过后10分钟开始运行.) 其它数字含义, 分别是, 小时, 日, 月份 和 某周的某天. 一个 *
是一个通配符, 表示 "每一个时间."
这一行剩下的参数主要告诉服务器请求url http://www.example.com/cron.php (link is external), 然后服务器运行cron.php代码. 注意: -O 是 "破折号 大写字母O", 不是"破折号零". 当然, 大写O很重要. 如果写成小写o将不会运行。
在Drupal 7中, 一个安全的私有URL用来执行计划任务(cron job). 这个URL可以从管理(Administration) > 报告(Reports)> 状态页面(Status page)的计划任务维护区获取.
URL形式大概如下:
http://www.example.com/cron.php?cron_key=y85HnNQxjdqM-deRXj2Xrp2MJumqe1H... (link is external)
如果你使用的是D7 就可以把任务指向 http://www.example.com/cron.php (link is external)的URL替换成你自己安全私有的URL.
这有一个计划任务语法的图表:
# +---------------- 分钟minute (0 - 59) # | +------------- 时hour (0 - 23) # | | +---------- 日day of month (1 - 31) # | | | +------- 月month (1 - 12) # | | | | +---- 周的某天day of