PHPackages                             kmj/syncbundle - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. kmj/syncbundle

ActiveSymfony-bundle[DevOps &amp; Deployment](/categories/devops)

kmj/syncbundle
==============

Symfony2 Bundle that handles the synchronization between a production site and test/development servers

01.0kPHP

Since Mar 29Pushed 10y ago1 watchersCompare

[ Source](https://github.com/Demoboy/SyncBundle)[ Packagist](https://packagist.org/packages/kmj/syncbundle)[ RSS](/packages/kmj-syncbundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

KMJSyncBundle
=============

[](#kmjsyncbundle)

Welcome to the KMJSyncBundle. The goal of this project to ease the hassle of getting live data to your development and testing servers. This bundle takes the specified folders and the production database and compresses them into a tar file. The development servers can then request the latest backup, download it, and install it.

1. Installation

---

KMJSyncBundle can conveniently be installed via Composer. Just add the following to your composer.json file:

```
// composer.json
{
    // ...
    require: {
        // ..
        "kmj/syncbundle": "dev-master"
    }
}
```

Then, you can install the new dependencies by running Composer's update command from the directory where your composer.json file is located:

```
    php composer.phar update
```

Now, Composer will automatically download all required files, and install them for you. All that is left to do is to update your AppKernel.php file, and register the new bundle:

```
// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new KMJ\SyncBundle\KMJSyncBundle(),
    // ...
);
```

2. Configuration

---

This bundle comes with a few configuration options.

```
api_syncing:
   dir:                 #The working directory for the bundle, no data is stored here. Defaults to %kernel.root_dir%/cache/sync
   backups:             #The directory to store all the backups. Defaults to %kernel.root_dir%/Resources/backups
   compression:         #The compression method to be used for the backup files. Only supported one at the moment is tar
   numberofbackups:     #The number of backups to keep Defaults to 3

   ## ALL OF THESE ARE REQUIRED ##

paths:                  #Array of directories to compress
      - path:           #The path for the folder to be backed up. Example:%kernel.root_dir%/../web/uploads

   database:            #Production database credentials
      type: mysql       #Mysql is the only supported type
      host:             #Production server database host
      database:         #Production server database name
      user:             #Production server database username
      password:         #Production server database password
   ssh:
     host:              #Production server host name
     port: 2100         #Production server port
     username:          #Production server username
     path:              #Path to the root of the site
```

3. Usage

---

On the production server a command like

```
app/console kmj:sync:backup --env=prod
```

will generate a backup file to that the other development and testing servers can download it

On your testing servers all you need to do is run

```
app/console kmj:sync:sync
```

This will download the backup file, extract it's contents, dump the current database and reload it with production data and finally move any folders to their original location.

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1925283?v=4)[Kaelin Jacobson](/maintainers/demoboy)[@Demoboy](https://github.com/Demoboy)

---

Top Contributors

[![Demoboy](https://avatars.githubusercontent.com/u/1925283?v=4)](https://github.com/Demoboy "Demoboy (17 commits)")

### Embed Badge

![Health badge](/badges/kmj-syncbundle/health.svg)

```
[![Health](https://phpackages.com/badges/kmj-syncbundle/health.svg)](https://phpackages.com/packages/kmj-syncbundle)
```

###  Alternatives

[widop/google-analytics-bundle

Google certificate-based authentication in server-to-server interactions with google analytics

43283.2k](/packages/widop-google-analytics-bundle)[in2code/in2publish_core

Content publishing extension to connect stage and production server

40143.4k](/packages/in2code-in2publish-core)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4778.9k](/packages/tiamo-phpas2)[wapmorgan/php-rpm-packager

RPM packager for PHP applications.

106.6k](/packages/wapmorgan-php-rpm-packager)

PHPackages © 2026

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