PHPackages                             vanegmondgroep/backup-cli - 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. [CLI &amp; Console](/categories/cli)
4. /
5. vanegmondgroep/backup-cli

ActiveLibrary[CLI &amp; Console](/categories/cli)

vanegmondgroep/backup-cli
=========================

An extendable command-line interface for backing up and restoring data using Restic.

v1.0.0(2y ago)028MITShell

Since May 23Pushed 2y ago1 watchersCompare

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

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Backup CLI
==========

[](#backup-cli)

An extendable command-line interface for backing up and restoring data using [Restic](https://restic.net).

Install
-------

[](#install)

Before installing Backup CLI, please make sure your environment meets the minimum requirements:

- [Ubuntu 20.04 / 22.04](https://ubuntu.com/)
- [Restic](https://restic.net)
- [Composer](https://getcomposer.org/)

Once you’ve verified the requirements, download and install Backup CLI with Composer.

```
# Install Backup CLI package
composer require vanegmondgroep/backup-cli
```

By default, commands are invoked using the `vendor/bin/bcli` script. However, instead of repeatedly typing `vendor/bin/bcli` to execute commands, you may wish to configure a shell alias that allows you to execute commands more easily:

```
alias bcli='[ -f bcli ] && sh bcli || sh vendor/bin/bcli'
```

To make sure this is always available, you may add this to your shell configuration file in your home directory, such as `~/.zshrc` or `~/.bashrc`, and then restart your shell.

Commands
--------

[](#commands)

```
# Backup a service
bcli backup

# Display service snapshots
bcli snapshots

# Restore a service
bcli restore

# Display backup logs
bcli logs
```

Configuration
-------------

[](#configuration)

Backup CLI loads environment variables from a `.env` file within the current working directory. The following variables are available:

VariableDefault`_BACKUP_PATH`\*\*-`BACKUP_PASSWORD``supersecret``BACKUP_LOGS_PATH``./backup/logs``BACKUP_HOOKS_PATH``./backup/hooks``BACKUP_REPOSITORIES_PATH``./backup/repositories``BACKUP_KEEP_LAST`5`BACKUP_KEEP_DAILY`31`BACKUP_KEEP_MONTHLY`12`BACKUP_KEEP_YEARLY`1\*\* This defines a service path you would like to back up (e.g. `MYSQL_BACKUP_PATH`).

Hooks
-----

[](#hooks)

Backup CLI calls scripts (hooks) before and after a backup or restore. This allows you to perform an action, such as exporting a database before a backup is made. The following hooks are available:

HookDescription`$BACKUP_HOOKS_PATH/_pre_backup_hook`Invoked before a backup`$BACKUP_HOOKS_PATH/_post_backup_hook`Invoked after a backup`$BACKUP_HOOKS_PATH/_pre_restore_hook`Invoked before a restore`$BACKUP_HOOKS_PATH/_post_restore_hook`Invoked after a restoreLogs
----

[](#logs)

Logs are written to `$BACKUP_LOGS_PATH/.log`.

Example
-------

[](#example)

The [example configuration](./example) shows how you can back up / restore a MySQL and Node-RED container.

Cronjobs
--------

[](#cronjobs)

To schedule a backup, add the following line to your crontab:

```
# Run MySQL backup every day at 01:00
0 1 * * * cd  && vendor/bin/bcli backup mysql

# Run Node-RED backup every day at 02:00
0 2 * * * cd  && vendor/bin/bcli backup node-red
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

1083d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1eccc197159e8b7b8dcb0fc81fdf0ead72753b5ca0cea68dfffccb2e00f5a0bf?d=identicon)[sitepilot](/maintainers/sitepilot)

---

Top Contributors

[![nbejansen](https://avatars.githubusercontent.com/u/20165378?v=4)](https://github.com/nbejansen "nbejansen (20 commits)")

### Embed Badge

![Health badge](/badges/vanegmondgroep-backup-cli/health.svg)

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

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M319](/packages/wp-cli-wp-cli)[consolidation/annotated-command

Initialize Symfony Console commands from annotated command class methods.

22569.8M18](/packages/consolidation-annotated-command)[chi-teck/drupal-code-generator

Drupal code generator

26947.8M5](/packages/chi-teck-drupal-code-generator)[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24725.8M17](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)

PHPackages © 2026

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