PHPackages                             blackbit\_digital\_commerce/pimcore-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. blackbit\_digital\_commerce/pimcore-backup

ActivePimcore-bundle

blackbit\_digital\_commerce/pimcore-backup
==========================================

Backup and restore Pimcore projects

v1.3.1(3y ago)1287.1k—0.5%6[1 issues](https://github.com/BlackbitDigitalCommerce/pimcore-backup/issues)GPL-3.0-or-laterPHPPHP &gt;=7

Since Aug 7Pushed 1y ago4 watchersCompare

[ Source](https://github.com/BlackbitDigitalCommerce/pimcore-backup)[ Packagist](https://packagist.org/packages/blackbit_digital_commerce/pimcore-backup)[ RSS](/packages/blackbit-digital-commerce-pimcore-backup/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (16)Used By (0)

Pimcore Backup and Sync Bundle
==============================

[](#pimcore-backup-and-sync-bundle)

This plugin adds 3 commands to bin/console:

- `backup:backup` backups all necessary files and a database dump to a file
- `backup:restore` restores Pimcore status based on a previously saved backup
- `backup:sync` copy database and files between two Pimcore systems (e.g. to sync development from live system)

Backup
------

[](#backup)

It is important to backup files and database at nearly the same point in time because some database entries refer to files (e.g. versions) and some files refer to database columns (e.g. data object fields). Thus the backup of the files and the database are done in parallel.

Restorable data and logs do not get included in the dump to keep file sizes small.

By default, the backup file gets created in `/tmp` folder. To change this, please read about [Storage configuration](#storage-configuration).

### Storage configuration

[](#storage-configuration)

Multiple storage providers are supported (local storage, FTP, S3, Azure etc.). To configure the location of backups you have to add a service definition to your `app/config/services.yml`

Example for local storage (path should be adjusted):

```
services:
    blackbit.backup.adapter:
        class: League\Flysystem\Local\LocalFilesystemAdapter
        arguments:
            $location: '/tmp'
```

Example for AWS S3 storage:

```
services:
    blackbit.backup.s3Client:
        class: Aws\S3\S3Client
        arguments:
            - {
                credentials:
                    key: your-key
                    secret: your-secret
                region: your-region
                version: latest
            }

    blackbit.backup.adapter:
        class: League\Flysystem\AwsS3V3\AwsS3V3Adapter
        arguments: ['@blackbit.backup.s3Client', 'your-bucket-name', 'optional/path/prefix']
```

Please also see [the documentation for other configuration options](https://flysystem.thephpleague.com/docs/adapter/aws-s3/).

To use other storage providers, please add the [flysystem adapter](https://flysystem.thephpleague.com/docs/#officially-supported-adapters) to your composer.json and configure `blackbit.backup.adapter` as documented. If you need help, feel free to contact .

#### Compatibility with Flysystem 1

[](#compatibility-with-flysystem-1)

You can still use this bundle with Flysystem 1 if you cannot use Flysystem 2 because of another dependency which needs Flysystem 1. In this case please add the following configuration in your `app/config/services.yml`:

```
services:
    blackbit.backup.adapter:
        class: League\Flysystem\Adapter\Local
        arguments: ['/tmp']
```

Or adjust this for other Flysystem adapters.

### Backup execution

[](#backup-execution)

Backups should be saved regularly. When you call `bin/console backup:backup` without parameter the backup archive file gets named `backup_pimcore-YYYYMMDDhhmm.tar.gz` (YYYYMMDDhhmm gets replaced by current date and time). Alternatively you can set the name yourself by providing an argument like `bin/console backup:backup backup.tar.gz`. This plugin does not care about deleting old backups, so keep an eye on available disk space.

If you only want to backup th database, you can use the option `--only-database`. The advantage in comparison to a default `mysqldump` command execution is that certain unimportant, automatically recreatable or temporary database tables are not written to the dump which results in smaller file size without any disadvantages.

If you do not need versioning data, you can use the option `--skip-versions`. If you do not need assets, you can use the option `--skip-assets`.

### Restore

[](#restore)

Backups can be restored by executing `bin/console backup:restore `. It uses the same storage configuration as described above.

When you try to restore the database and get the error `ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)` please enable `log_bin_trust_function_creators` in the MySQL settings. This message appears when recreating triggers, functions etc. (even although the bundle removes the definers from the database dump).

### Sync between Pimcore systems

[](#sync-between-pimcore-systems)

When you want to sync a Pimcore system with another Pimcore system you can use the `backup:sync` command (to be executed from the target system). You have to provide an SSH handle to the source system and the Pimcore root directory path of the remote Pimcore system and it will sync the database, the files while keeping the current configuration in `/app/config`.

Example call: `bin/console backup:sync user@hostname /var/www/html`

For this to work source and target system have to have this bundle installed.

### Trigger backup / sync from Pimcore backend

[](#trigger-backup--sync-from-pimcore-backend)

In combination with the [Process Manager bundle](https://github.com/elements-at/ProcessManager) you are able to trigger a backup, restore or sync with another Pimcore system directly from the Pimcore backend.

### Customization

[](#customization)

If you want to execute project-specific things, you can use this with an event listener. The following events get dispatched:

- `backup.restore.stepFinished` - gets dispatched after every step during `backup:restore` and `backup:sync` command
- `backup.restore.finished` - gets dispatched after complete `backup:restore` and `backup:sync` commands are finished

About Blackbit
--------------

[](#about-blackbit)

Beside of this Pimcore plugin Blackbit also offers [other bundles, individual development, consulting and hosting for your Pimcore project](https://pimcore.com/en/partners/find-a-solution-partner/blackbit_p79).

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

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 ~59 days

Recently: every ~52 days

Total

15

Last Release

1280d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/edf236af532784ace4b8fe1f8342c426bfcbe1ebfaa68b73fecb5a16a4e8f446?d=identicon)[BlackbitNeueMedien](/maintainers/BlackbitNeueMedien)

---

Top Contributors

[![BlackbitDevs](https://avatars.githubusercontent.com/u/8749138?v=4)](https://github.com/BlackbitDevs "BlackbitDevs (2 commits)")[![astehlik](https://avatars.githubusercontent.com/u/956513?v=4)](https://github.com/astehlik "astehlik (1 commits)")[![dgonzalez360](https://avatars.githubusercontent.com/u/4933377?v=4)](https://github.com/dgonzalez360 "dgonzalez360 (1 commits)")[![Jan-Walther-Basilicom](https://avatars.githubusercontent.com/u/92913571?v=4)](https://github.com/Jan-Walther-Basilicom "Jan-Walther-Basilicom (1 commits)")[![MarcW09](https://avatars.githubusercontent.com/u/91049331?v=4)](https://github.com/MarcW09 "MarcW09 (1 commits)")[![matthiashamacher](https://avatars.githubusercontent.com/u/32356549?v=4)](https://github.com/matthiashamacher "matthiashamacher (1 commits)")

### Embed Badge

![Health badge](/badges/blackbit-digital-commerce-pimcore-backup/health.svg)

```
[![Health](https://phpackages.com/badges/blackbit-digital-commerce-pimcore-backup/health.svg)](https://phpackages.com/packages/blackbit-digital-commerce-pimcore-backup)
```

###  Alternatives

[magento/community-edition

Magento 2 (Open Source)

12.1k52.1k10](/packages/magento-community-edition)[laravel/vapor-cli

The Laravel Vapor CLI

31310.7M8](/packages/laravel-vapor-cli)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)[badaso/core

The API &amp; platform builder, build your apps 10x faster even more, it's open source &amp; 100% free !

1.3k16.2k10](/packages/badaso-core)[ckfinder/ckfinder-laravel-package

CKFinder 3 package for Laravel

159497.2k48](/packages/ckfinder-ckfinder-laravel-package)[ckfinder/ckfinder-symfony-bundle

CKFinder bundle for Symfony

42435.7k](/packages/ckfinder-ckfinder-symfony-bundle)

PHPackages © 2026

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