PHPackages                             manticoresoftware/manticoresearch-backup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. manticoresoftware/manticoresearch-backup

ActiveLibrary[Search &amp; Filtering](/categories/search)

manticoresoftware/manticoresearch-backup
========================================

Backup tool for Manticore Search

1.10.0(1mo ago)421.7k↓14.7%1[3 issues](https://github.com/manticoresoftware/manticoresearch-backup/issues)[1 PRs](https://github.com/manticoresoftware/manticoresearch-backup/pulls)1GPL-3.0-or-laterPHPPHP &gt;=8.1CI passing

Since Oct 5Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/manticoresoftware/manticoresearch-backup)[ Packagist](https://packagist.org/packages/manticoresoftware/manticoresearch-backup)[ RSS](/packages/manticoresoftware-manticoresearch-backup/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (11)Versions (61)Used By (1)

Manticore Backup
================

[](#manticore-backup)

How to use
----------

[](#how-to-use)

Read the [official documentation](https://manual.manticoresearch.com/Securing_and_compacting_a_table/Backup_and_restore) for all the information about using the tool.

Developer documentation
-----------------------

[](#developer-documentation)

Structure
---------

[](#structure)

FolderDescriptionbinThis directory contains various binaries to execute and also build scriptbin/runThis script is used for run the backup script in development and use it for debug purposebuildThis directory is ignored by git but built binary goes theresrcAll sources code goes heresrc/libLibrary independent componentssrc/lib/func.phpAll helper functions that required to use the script are heresrc/main.phpThis is the main entrypoint for starting the logictestAll tests are herePhilosophy
----------

[](#philosophy)

1. Keep the tool as small and lightweight as possible with no/minimum external dependencies.
2. Try to write the code so that we can use it in different OSes (Windows, Linux, and any other where PHP can be used).
3. We can use external binaries like `rsync` or any others, but we should maintain the native behavior so that we can still use the script when there is no such dependency.
4. Tests should cover every new feature or extension to the script.

Backup structure
----------------

[](#backup-structure)

The directory with name `backup-%date%` is created in the *--backup-dir* folder. The target created directory has the following structure:

FolderDescriptiondataThe path to store all files (tables) from the searchd data dirconfigThe directory is for saving configs, mainly manticore.json and manticore.confstateThe searchd state files backup dirversions.jsonThis file contains versions of manticore where current backup was madeBuilding
--------

[](#building)

To build the final executable you need to to run `bin/build`. The executable can be found then in the `./build` directory under `build/manticore-backup`.

We recommend using [manticore-executor](https://github.com/manticoresoftware/executor). In this case, the script will use the custom-built PHP binary with all required extensions to run the tool. If you are adding a new functionality which requires a specific PHP module make sure you update [manticore-executor](https://github.com/manticoresoftware/executor) as well.

The final script is a PHP Phar archive that can be run with [PHP](https://php.net) version of `8.1.11` that contains the next extensions:

- zstd
- Phar
- Posix

Developing
----------

[](#developing)

To develop and run the system without building process you should use `bin/run` script that does all the magic.

Tests
-----

[](#tests)

All tests are located in the `test` directory.

We use PHPUnit for testing.

There are two tests: unit tests of used components and integrated tests of the whole script behavior.

Metrics
-------

[](#metrics)

The backup tool by default sends your anonymized metrics to Manticore metrics server. It helps maintainers a lot with improving the product. We respect your privacy and you can be sure that the metrics are anonymous and no sensitive info is sent out, but if you still want to disable the telemetry, please make sure you run the tool with the flag `--disable-metric` or use the environment variable `TELEMETRY=0`.

Here are all metrics that we collect:

MetricDescriptioncollector🏷 backup. Means this metric comes from the backup toolos\_name🏷️ Name of the operating systemmachine\_id🏷 Server identifier (the content of `/etc/machine-id` in Linux)invocationSent when backup was invoked. BooleanfailedSent in case the backup was failed. BooleandoneSent when the backup/restore was successful. Booleanarg\_\*What arguments you used to run the tool (skipping all your index names etc.)backup\_store\_versions\_failsIndicates that it failed to save your Manticore version in the backupbackup\_table\_countTotal count of backed up tablesbackup\_no\_permissionsFailed to backup due to no permissions to destination dirbackup\_total\_sizeTotal size of the full backupbackup\_timeHow long it took to backuprestore\_searchd\_runningFailed to run restoring process due to searchd being running alreadyrestore\_no\_config\_fileNo config file in the backup on restorerestore\_timeHow long it took to restorefsync\_timeHow long it took to fsyncrestore\_target\_existsIt occurs when there's a folder or index in the destination folder to restore toterminationsIn case the process was terminatedsignal\_\*What signal was used to terminate the processtablesHow many tables Manticore holdsconfig\_unreachablePassed configuration file does not existconfig\_data\_dir\_missingFailed to parse data\_dir from the passed configuration fileconfig\_data\_dir\_is\_relativedata\_dir path in the configuration file of the Manticore instance is relative

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance74

Regular maintenance activity

Popularity31

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 74.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Recently: every ~100 days

Total

60

Last Release

54d ago

Major Versions

0.5.14.x-dev → v1.0.12023-04-18

0.128.0 → 1.7.22025-01-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/28718748?v=4)[Manticore Search](/maintainers/manticoresearch)[@manticoresearch](https://github.com/manticoresearch)

![](https://avatars.githubusercontent.com/u/59067742?v=4)[Don Hardman](/maintainers/donhardman)[@donhardman](https://github.com/donhardman)

---

Top Contributors

[![donhardman](https://avatars.githubusercontent.com/u/59067742?v=4)](https://github.com/donhardman "donhardman (161 commits)")[![sanikolaev](https://avatars.githubusercontent.com/u/28719845?v=4)](https://github.com/sanikolaev "sanikolaev (28 commits)")[![dmitrykuzmenkov](https://avatars.githubusercontent.com/u/1183502?v=4)](https://github.com/dmitrykuzmenkov "dmitrykuzmenkov (13 commits)")[![KlimTodrik](https://avatars.githubusercontent.com/u/19153169?v=4)](https://github.com/KlimTodrik "KlimTodrik (9 commits)")[![PavelShilin89](https://avatars.githubusercontent.com/u/143797001?v=4)](https://github.com/PavelShilin89 "PavelShilin89 (3 commits)")[![Gemorroj](https://avatars.githubusercontent.com/u/885731?v=4)](https://github.com/Gemorroj "Gemorroj (1 commits)")

---

Tags

searchbackupmanticoresearch

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/manticoresoftware-manticoresearch-backup/health.svg)

```
[![Health](https://phpackages.com/badges/manticoresoftware-manticoresearch-backup/health.svg)](https://phpackages.com/packages/manticoresoftware-manticoresearch-backup)
```

###  Alternatives

[elasticsearch/elasticsearch

PHP Client for Elasticsearch

5.3k178.3M943](/packages/elasticsearch-elasticsearch)[ruflin/elastica

Elasticsearch Client

2.3k50.4M203](/packages/ruflin-elastica)[solarium/solarium

PHP Solr client

93432.7M98](/packages/solarium-solarium)[manticoresoftware/manticoresearch-php

PHP Client for Manticore Search

206550.0k16](/packages/manticoresoftware-manticoresearch-php)[jsq/amazon-es-php

Support for using IAM authentication with the official Elasticsearch PHP client

9310.6M13](/packages/jsq-amazon-es-php)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15224.3M65](/packages/opensearch-project-opensearch-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
