manticoresoftware/manticoresearch-backup

Manticore Search 的备份工具

v1.3.9 2024-07-09 08:25 UTC

README

如何使用

阅读官方文档以获取有关使用此工具的所有信息。

开发者文档

结构

理念

  1. 尽可能使工具保持小巧轻量,不依赖外部依赖项。
  2. 尝试编写代码,使其可以在不同的操作系统(Windows、Linux 和任何可以使用 PHP 的其他操作系统)中使用。
  3. 我们可以使用外部二进制文件,如 rsync 或其他二进制文件,但我们应该保持本地行为,以便在没有此类依赖项的情况下仍可使用脚本。
  4. 测试应涵盖每个新的功能或对脚本的扩展。

备份结构

--backup-dir 文件夹中创建名为 backup-%date% 的目录。目标创建的目录具有以下结构

构建

要构建最终的可执行文件,需要运行 bin/build。可执行文件可在 ./build 目录下的 build/manticore-backup 中找到。

我们建议使用 manticore-executor。在这种情况下,脚本将使用具有所有必需扩展的自定义构建 PHP 二进制文件来运行工具。如果您添加了需要特定 PHP 模块的新功能,请确保同时更新 manticore-executor

最终的脚本是一个 PHP Phar 存档,可以使用 PHP 8.1.11 版本运行,其中包含以下扩展

  • zstd
  • Phar
  • Posix

开发

要开发并运行系统而不进行构建过程,应使用 bin/run 脚本,该脚本执行所有魔术操作。

测试

所有测试都位于 test 目录中。

我们使用 PHPUnit 进行测试。

有两种测试:用于使用组件的单元测试和用于整个脚本行为的集成测试。

度量

默认情况下,备份工具会将您的匿名度量信息发送到 Manticore 度量服务器。这极大地帮助维护者改进产品。我们尊重您的隐私,您可以确信这些度量是匿名的,并且不会发送敏感信息,但如果您仍然想禁用遥测,请确保使用带有标志 --disable-metric 的工具运行,或使用环境变量 TELEMETRY=0

以下是我们收集的所有度量