设置cron是安装网站的重要步骤,有助于维护站点的搜索结果资产,检查Drupal核心和模块的更新以及删除临时文件。
正确配置的cron作业管理各种任务:
- 更新搜索模块使用的网站内容索引。
- 队列提要由Aggregator模块更新。
- 检查Update Manager模块的可用更新。
- 对系统模块执行例行维护任务,例如从日志中删除旧行。
什么是cron?
Cron是一个守护程序,它以指定的时间间隔执行命令。这些命令称为“cron作业”。Cron适用于Unix,Linux和Mac服务器。Windows服务器使用计划任务来执行命令。实际的“cron作业”是一个时间触发的动作,通常(并且最有效)由您的网站的托管服务器执行,但也可以由远程服务器甚至您自己的桌面配置。
实际发生的是,cron作业访问您网站中的cron.php文件,例如。您可以在“管理”>“报告”>“状态”报告(admin / reports / status)的“状态”报告中的“Cron维护任务”部分中找到cron.php文件的确切地址。http://www.example.com/cron.php?cron_key=0MgWtfB33FYbbQ5UAC3L0LL3RC0PT3RNUBZILLA0Nf1Re
启用cron
最简单的方法是让Drupal使用其内置的“自动cron”系统为您(默认情况下)执行此操作。您可以通过Manage> Configuration> System> Cron(admin / config / system / cron)管理“自动cron”。默认频率是每三个小时。然后,Cron将由访问您网站的最终用户触发,不会超过每三个小时。请注意,对于低流量站点,也可能需要创建一个cron作业。如果要禁用自动cron,请将“运行cron every”下拉菜单更改为“never”。
自动cron系统与所有系统兼容,因为它实际上并不涉及系统的cron守护程序。它的工作原理是检查每个Drupal请求的结尾,以查看cron上次运行的时间,如果已经太长,则将cron任务作为该请求的一部分进行处理。两个下端是(1)cron任务只在Drupal处理请求时运行; (2)运行cron任务的'权重'(处理和内存)将被添加到某个任意未知页面请求中,这可能会减慢这些请求,并且有可能超出复杂站点的内存限制。
第二种方式(适用于任何版本的Drupal)是创建一个cron作业或使用其他一些外部(用于Drupal)方法来触发其cron任务,例如像EasyCron或Cronless这样的外部cron作业服务。这是两种方法中更可靠的(因为它总是按计划运行),并且它使用更少的资源(因为cron处理没有添加到页面请求中)。因此,当您有选择时,这通常是运行cron的首选方法。请注意,如果您创建一个cron作业,您可能希望完全禁用“自动cron”系统。
禁用“自动cron”
出于性能原因,或者如果您想确保cron只能从外部触发器运行,可能需要禁用自动cron系统。
您可以通过将“Run cron every”值设置为“Never”来禁用它(例如,在Administration> Configuration> System> Cron(admin / config / system / cron)。
在Drupal 8中禁用cron的另一种方法是在settings.php中添加以下行:
$config['automated_cron.settings']['interval'] = 0;
请注意,这会将admin / config / system / cron中的设置修复为“从不”,管理用户无法覆盖它。
评论