unocha/file_checker

验证Drupal管理的文件是否确实存在于Drupal认为它们所在的位置。

安装数: 1,094

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 5

分支: 0

开放性问题: 0

类型:drupal-module

dev-8.x-1.x 2022-01-18 02:18 UTC

This package is auto-updated.

Last update: 2024-09-26 05:39:54 UTC


README

文件检查器的目的是验证Drupal管理的文件是否确实存在于Drupal认为它们所在的位置。

在一个完美的Drupal世界中,您的服务器文件系统和Drupal的文件表中的对应条目是100%同步的。但如果是由于磁盘故障导致文件系统部分损坏?或者某个模块破坏了您的数据库和文件?或者您的部署脚本出了问题?那么,这个模块将帮助您监控并找出哪些文件不同步。

文件检查器适用于D7和D8。以下说明主要针对D8。

它提供了以下功能

  • 您可以通过UI或使用drush立即检查所有文件。
  • 您可以通过cron或drush安排定期检查所有文件。
  • 您可以在文件实体创建或更新时检查特定文件。
  • 如果文件实体中没有文件存在,则会记录警告。
  • 缺失的文件被标记为缺失,并在视图中列出。
  • 它与本地或远程存储的文件一起工作。
  • 它应该可以处理任何数量的文件。

用户界面

文件检查器UI位于admin/config/media/file-system/file-checker。

如果您按下“立即检查文件”,将启动批量文件检查,使用Drupal的Batch API。将显示一个进度条,显示已检查文件的百分比。您需要保持浏览器窗口打开,不要离开,直到检查完成。

您可以在admin/config/media/file-system/file-checker/missing查看缺失的文件。

后台文件检查

检查远程服务器上的文件可能需要几秒钟,因此当您有很多文件时,从UI进行检查变得不切实际。后台文件检查解决了这个问题,并且还可以自动监控文件系统的健康。

如果后台检查正在进行,您可以从UI查看其进度并取消。

后台检查将一次检查所有文件的运行分成多次小的执行,以防止单个执行时间过长导致性能问题。一个典型的设置是每60秒安排一个新的执行,每个执行持续50秒。每个执行将检查尽可能多的文件。当没有更多文件要检查时,运行结束。

因此,从drush或cron控制后台检查涉及两个阶段

  • 启动,设置检查所有文件的运行。您可能希望每晚运行一次。
  • 执行,实际上检查文件。您可能希望每分钟运行一次,持续进行。如果没有启动检查,则执行将什么也不做并立即停止。每个运行必须至少有两个执行,无论系统上的文件数量有多少。如果您有大量的远程文件,您可能需要数百个执行。执行是顺序的,因此不能并行进行。

默认情况下,有两种方式可以运行后台检查:Drush和Ultimate Cron。

DRUSH命令

  • drush file-checking-start 开始后台文件检查。

  • drush file-checking-execute 50 检查文件50秒。

  • drush file-checking-cancels 取消后台文件检查。

在Linux的crontab中设置以下内容,可以使文件检查每晚2点自动运行,直到所有文件检查完毕。

0 2 * * * drush file-checking-start

          • drush file-checking-execute 50

终极CRON

Ultimate Cron扩展模块允许以多种方式控制和启动Drupal的CRON任务。文件检查器提供了配置,当Ultimate Cron模块安装后,应该出现在admin/config/system/cron/jobs页面。默认情况下,它们与上面描述的drush命令工作方式相同,但您可以在Ultimate Cron用户界面中编辑它们以更改运行时间。如果您想通过Ultimate Cron以这种频率触发这些CRON任务,请确保Ultimate Cron本身每分钟被触发一次。

需求

文件检查器没有特殊要求。

文件实体变更时的检查

您可以配置文件检查器在文件实体被创建或URI变更时检查文件。为此,请使用admin/config/media/file-system/file-checker的设置用户界面。

如果您选择“立即”,则文件将在保存后立即进行检查,这可能会使用户体验暂停几秒钟。

如果您选择“稍后”,则文件将被放入Drupal队列,并在下一次Drupal的主CRON运行并处理其队列时进行检查。

推荐模块

  • 各种监控模块可以允许您在检测到缺失文件时接收电子邮件通知。

  • Ultimate Cron用于触发后台文件检查。

安装

DRUPAL 7

对于Drupal 7,该模块不会向文件表添加“缺失”基本字段。相反,它使用现有的状态字段。开箱即用的文件表有两种状态:临时(0)和永久(1)。此模块引入了一个额外的状态“缺失”(2)。

您可以在admin/settings/file_checker上配置文件检查器。首先查看“处理批量大小”。理想情况下,您不应运行太多的迭代,例如,100,000个文件 / 10,000个批量大小 = 10次运行听起来是一个好方法。通过按“标记缺失文件”按钮,您可以手动运行文件验证。

在admin/reports/file_checker上可以查看结果。

维护者

当前维护者

支持组织