unocha / file_checker
验证Drupal管理的文件是否确实存在于Drupal认为它们所在的位置。
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模块的方式进行安装。有关更多信息,请参阅:https://www.drupal.org/docs/8/extending-drupal/installing-contributed-modules
DRUPAL 7
对于Drupal 7,该模块不会向文件表添加“缺失”基本字段。相反,它使用现有的状态字段。开箱即用的文件表有两种状态:临时(0)和永久(1)。此模块引入了一个额外的状态“缺失”(2)。
您可以在admin/settings/file_checker上配置文件检查器。首先查看“处理批量大小”。理想情况下,您不应运行太多的迭代,例如,100,000个文件 / 10,000个批量大小 = 10次运行听起来是一个好方法。通过按“标记缺失文件”按钮,您可以手动运行文件验证。
在admin/reports/file_checker上可以查看结果。
维护者
当前维护者
- Gottfried Nindl (gnindl) - https://www.drupal.org/u/gnindl
- Mike Del Tito (mdeltito) - https://www.drupal.org/u/mdeltito
- Jonathan Shaw (jonathanjfshaw) - https://drupal.org/u/jonathanjfshaw
支持组织
- OSCE:欧洲安全与合作组织 - http://www.osce.org
- 觉醒心灵僧团 - http://www.ahs.org.uk