快照是 Meilisearch 数据库的精确副本。快照可用作快速备份,但不能用于迁移到新的 Meilisearch 版本。

本教程将向您展示如何安排快照创建,以确保您始终拥有可用的最新实例备份。您还将看到如何从该快照启动 Meilisearch。

Meilisearch Cloud 不支持快照。

安排定期快照

定期创建 Meilisearch 数据备份是一个好习惯。这能确保在 Meilisearch 实例受损时,您可以快速从严重故障中恢复。

使用--schedule-snapshot 配置选项在固定的时间间隔创建快照

meilisearch --schedule-snapshot

第一个快照在启动时创建。您可以在快照目录 /snapshots 中找到它。Meilisearch 之后会每 24 小时创建一个新快照,直到您终止实例。

Meilisearch 在快照创建期间会自动覆盖旧快照。在任何给定时间,文件夹中只会有最新的快照。

如果您的数据库每天更新多次,最好修改每次新快照之间的时间间隔

meilisearch --schedule-snapshot=3600

这指示 Meilisearch 每小时创建一个新快照。

如果您需要在不重新启动实例的情况下生成单个快照,请使用/snapshots 路由

从快照启动

要将快照数据导入到您的实例中,请使用 --import-snapshot 启动 Meilisearch

meilisearch --import-snapshot mySnapShots/data.ms.snapshot

由于快照是数据库的精确副本,因此从快照启动 Meilisearch 实例比手动添加文档或从转储启动要快得多。

出于安全原因,Meilisearch 绝不会覆盖现有数据库。默认情况下,如果您的实例中存在任何数据,Meilisearch 在导入快照时会抛出错误。

您可以通过指定--ignore-snapshot-if-db-exists=true来更改此行为。这将导致 Meilisearch 使用现有数据库启动并忽略转储,而不会抛出错误。