PHPackages                             heybigname/backup-manager - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. heybigname/backup-manager

Abandoned → [backup-manager/backup-manager](/?search=backup-manager%2Fbackup-manager)Library[File &amp; Storage](/categories/file-storage)

heybigname/backup-manager
=========================

Database backup manager for dumping to and restoring databases from S3, Dropbox, FTP, and SFTP.

0.3.9(11y ago)1724.9k41MITPHPPHP &gt;=5.4.0

Since Apr 16Pushed 10y ago3 watchersCompare

[ Source](https://github.com/heybigname/backup-manager)[ Packagist](https://packagist.org/packages/heybigname/backup-manager)[ RSS](/packages/heybigname-backup-manager/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (12)Versions (16)Used By (1)

IMPORTANT NOTICE
================

[](#important-notice)

This repository has been completely removed and should NO LONGER be used. Find the new and improved version at [Backup Manager](http://github.com/backup-manager).

> Seriously, don't use this repo.

Database Backup Manager
=======================

[](#database-backup-manager)

[![Latest Stable Version](https://camo.githubusercontent.com/0cd992b263c4f37f8c0f4eb3176757d24da5dcacc8ce9771063629f4b9ae1ff5/68747470733a2f2f706f7365722e707567782e6f72672f6865796269676e616d652f6261636b75702d6d616e616765722f76657273696f6e2e706e67)](https://packagist.org/packages/heybigname/backup-manager)[![License](https://camo.githubusercontent.com/1dbfc65a3c15a0ebda4137037053cf5359b38139177d680fe343ecbf1f946939/68747470733a2f2f706f7365722e707567782e6f72672f6865796269676e616d652f6261636b75702d6d616e616765722f6c6963656e73652e706e67)](https://packagist.org/packages/heybigname/backup-manager)[![Build Status](https://camo.githubusercontent.com/699d69f5f8842de37761912bccc97c784438c03b2d27348598d3a8d7172eda23/68747470733a2f2f7472617669732d63692e6f72672f6865796269676e616d652f6261636b75702d6d616e616765722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/heybigname/backup-manager)[![Coverage Status](https://camo.githubusercontent.com/ce28afe89e2bec9fc13096705c9044a9f2e64c7294e174e1f227d7ee2b5eaea8/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6865796269676e616d652f6261636b75702d6d616e616765722f62616467652e706e673f6272616e63683d6d6173746572)](https://coveralls.io/r/heybigname/backup-manager?branch=master)[![Total Downloads](https://camo.githubusercontent.com/d892221d52660f970266356d3bc6942006b5cca87e7326a2b71edfe41a442653/68747470733a2f2f706f7365722e707567782e6f72672f6865796269676e616d652f6261636b75702d6d616e616765722f646f776e6c6f6164732e706e67)](https://packagist.org/packages/heybigname/backup-manager)

- supports `MySQL` and `PostgreSQL`
- compress with `Gzip`
- framework-agnostic
- dead simple configuration
- optional integrations for MVC framework [Laravel](http://laravel.com)

This package is completely framework agnostic. Mitchell has put together a [video tour](https://www.youtube.com/watch?v=vWXy0R8OavM) of Laravel integration, to give you an idea what is possible with this package.

### Table of Contents

[](#table-of-contents)

- [Stability Notice](#stability-notice)
- [Quick and Dirty](#quick-and-dirty)
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Integrations](#integrations)
    - [Laravel](#laravel)
- [Contribution Guidelines](#contribution-guidelines)
- [Maintainers](#maintainers)
- [License](#license)

### Stability Notice

[](#stability-notice)

It's stable enough, you'll need to understand permissions.

This package is actively being developed and we would like to get feedback to improve it. [Please feel free to submit feedback.](https://github.com/heybigname/backup-manager/issues/new)

### Quick and Dirty

[](#quick-and-dirty)

**Configure your databases.**

```
// config/database.php
'development' => [
    'type' => 'mysql',
    'host' => 'localhost',
    'port' => '3306',
    'user' => 'root',
    'pass' => 'password',
    'database' => 'test',
],
'production' => [
    'type' => 'postgresql',
    'host' => 'localhost',
    'port' => '5432',
    'user' => 'postgres',
    'pass' => 'password',
    'database' => 'test',
],
```

**Configure your filesystems.**

```
// config/storage.php
'local' => [
    'type' => 'Local',
    'root' => '/path/to/working/directory',
],
's3' => [
    'type' => 'AwsS3',
    'key'    => '',
    'secret' => '',
    'region' => Aws\Common\Enum\Region::US_EAST_1,
    'bucket' => '',
    'root'   => '',
],
'rackspace' => [
    'type' => 'Rackspace',
    'username' => '',
    'key' => '',
    'container' => '',
    'zone' => '',
    'root' => '',
],
'dropbox' => [
    'type' => 'Dropbox',
    'key' => '',
    'secret' => '',
    'app' => '',
    'root' => '',
],
'ftp' => [
    'type' => 'Ftp',
    'host' => '',
    'username' => '',
    'password' => '',
    'root' => '',
    'port' => 21,
    'passive' => true,
    'ssl' => true,
    'timeout' => 30,
],
'sftp' => [
    'type' => 'Sftp',
    'host' => '',
    'username' => '',
    'password' => '',
    'root' => '',
    'port' => 21,
    'timeout' => 10,
    'privateKey' => '',
],
```

**Backup to / restore from any configured database.**

Backup the development database to `Amazon S3`. The S3 backup path will be `test/backup.sql.gz` in the end, when `gzip` is done with it.

```
$manager = require 'bootstrap.php';
$manager->makeBackup()->run('development', 's3', 'test/backup.sql', 'gzip');
```

**Backup to / restore from any configured filesystem.**

Restore the database file `test/backup.sql.gz` from `Amazon S3` to the `development` database.

```
$manager = require 'bootstrap.php';
$manager->makeRestore()->run('s3', 'test/backup.sql.gz', 'development', 'gzip');
```

> This package does not allow you to backup from one database type and restore to another. A MySQL dump is not compatible with PostgreSQL.

### Requirements

[](#requirements)

- PHP 5.4
- MySQL support requires `mysqldump` and `mysql` command-line binaries
- PostgreSQL support requires `pg_dump` and `psql` command-line binaries
- Gzip support requires `gzip` and `gunzip` command-line binaries

### Installation

[](#installation)

**Composer**

Run the following to include this via Composer

```
composer require heybigname/backup-manager
```

Then, you'll need to select the appropriate packages for the adapters that you want to use.

```
# to support s3
composer require league/flysystem-aws-s3-v2

# to support dropbox
composer require league/flysystem-dropbox

# to support rackspace
composer require league/flysystem-rackspace

# to support sftp
composer require league/flysystem-sftp
```

### Usage

[](#usage)

Once installed, the package must be bootstrapped (initial configuration) before it can be used. If you're using Laravel then skip directly to the [Laravel integration section](#laravel).

We've provided a native PHP example [here](https://github.com/heybigname/backup-manager/tree/master/examples).

The required bootstrapping can [be found in the example here](https://github.com/heybigname/backup-manager/blob/master/examples/standalone/bootstrap.php).

### Integrations

[](#integrations)

The backup manager is easy to integrate into your favorite frameworks. We've included Laravel integration. We're definitely accepting pull-requests.

#### Laravel

[](#laravel)

To install into a Laravel project, first do the composer install then add the following class to your config/app.php service providers list.

```
'BigName\BackupManager\Integrations\Laravel\BackupManagerServiceProvider',
```

Then, publish and modify the configuration file to suit your needs.

`php artisan config:publish heybigname/backup-manager --path=vendor/heybigname/backup-manager/config`

The Backup Manager will make use of Laravel's database configuration.

**IoC Resolution**

`Manager` can be automatically resolved through constructor injection thanks to Laravel's IoC container.

```
use BigName\BackupManager\Manager;

public function __construct(Manager $manager) {
    $this->manager = $manager;
}
```

It can also be resolved manually from the container.

```
$manager = App::make('BigName\BackupManager\Manager');
```

**Artisan Commands**

There are three commands available `db:backup`, `db:restore` and `db:list`.

All will prompt you with simple questions to successfully execute the command.

### Contribution Guidelines

[](#contribution-guidelines)

We recommend using the vagrant configuration supplied with this package for development and contribution. Simply install VirtualBox, Vagrant, and Ansible then run `vagrant up` in the root folder. A virtualmachine specifically designed for development of the package will be built and launched for you.

When contributing please consider the following guidelines:

- please conform to the code style of the project, it's essentially PSR-2 with a few differences.
    1. The NOT operator when next to parenthesis should be surrounded by a single space. `if ( ! is_null(...)) {`.
    2. Interfaces should NOT be suffixed with `Interface`, Traits should NOT be suffixed with `Trait`.
- All methods and classes must contain docblocks.
- Ensure that you submit tests that have minimal 100% coverage.
- When planning a pull-request to add new functionality, it may be wise to [submit a proposal](https://github.com/heybigname/backup-manager/issues/new) to ensure compatibility with the project's goals.

### Maintainers

[](#maintainers)

This package is maintained by [Mitchell van Wijngaarden](http://kooding.nl) and [Shawn McCool](http://shawnmc.cool) of [Big Name](http://heybigname.com)

### License

[](#license)

This package is licensed under the [MIT license](https://github.com/heybigname/backup-manager/blob/master/LICENSE).

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.2% 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 ~10 days

Recently: every ~21 days

Total

15

Last Release

4258d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d95eb26cb8f3919bb5ca3b6d823daeabbf259663778a970349b245c580713c8e?d=identicon)[graham-campbell](/maintainers/graham-campbell)

![](https://www.gravatar.com/avatar/6da00bb361f9beaa0dbd9577dd2b3c35089dd5d6ae9a3b57003d09f7737739b0?d=identicon)[ShawnMcCool](/maintainers/ShawnMcCool)

---

Top Contributors

[![mitchellvanw](https://avatars.githubusercontent.com/u/3061428?v=4)](https://github.com/mitchellvanw "mitchellvanw (109 commits)")[![driesvints](https://avatars.githubusercontent.com/u/594614?v=4)](https://github.com/driesvints "driesvints (3 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (3 commits)")[![chromeorfirefox](https://avatars.githubusercontent.com/u/10752650?v=4)](https://github.com/chromeorfirefox "chromeorfirefox (2 commits)")[![WyriHaximus](https://avatars.githubusercontent.com/u/147145?v=4)](https://github.com/WyriHaximus "WyriHaximus (2 commits)")[![benbridts](https://avatars.githubusercontent.com/u/1301221?v=4)](https://github.com/benbridts "benbridts (2 commits)")[![Mikulas](https://avatars.githubusercontent.com/u/192200?v=4)](https://github.com/Mikulas "Mikulas (1 commits)")[![antonioribeiro](https://avatars.githubusercontent.com/u/3182864?v=4)](https://github.com/antonioribeiro "antonioribeiro (1 commits)")[![pborreli](https://avatars.githubusercontent.com/u/77759?v=4)](https://github.com/pborreli "pborreli (1 commits)")[![rdohms](https://avatars.githubusercontent.com/u/94331?v=4)](https://github.com/rdohms "rdohms (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/heybigname-backup-manager/health.svg)

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

###  Alternatives

[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M788](/packages/league-flysystem-aws-s3-v3)[aws/aws-sdk-php-laravel

A simple Laravel 9/10/11/12/13 service provider for including the AWS SDK for PHP.

1.7k35.6M75](/packages/aws-aws-sdk-php-laravel)[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.3M74](/packages/unisharp-laravel-filemanager)[league/flysystem-sftp-v3

SFTP filesystem adapter for Flysystem.

6129.6M91](/packages/league-flysystem-sftp-v3)[coraxster/flysystem-aws-s3-v3-minio

Flysystem adapter for the AWS S3 SDK v3.x, forked for minio support

25672.0k3](/packages/coraxster-flysystem-aws-s3-v3-minio)[jerodev/flysystem-v3-smb-adapter

SMB adapter for Flysystem v3

1289.9k1](/packages/jerodev-flysystem-v3-smb-adapter)

PHPackages © 2026

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