BackupManagerBundle
A simple database backup manager for Symfony2 with support for S3, Rackspace, Dropbox, FTP, SFTP., (*1)
This package pulls in the framework agnostic Backup Manager and provides seamless integration with Symfony., (*2)
Installation
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the
following command to download the latest stable version of this bundle:, (*3)
$ composer require backup-manager/symfony "^1.0"
This command requires you to have Composer installed globally, as explained
in the installation chapter
of the Composer documentation., (*4)
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:, (*5)
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new BM\BackupManagerBundle\BMBackupManagerBundle(),
);
// ...
}
// ...
}
# app/config.yml
bm_backup_manager:
database:
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
storage:
local:
type: Local
root: /path/to/working/directory
s3:
type: AwsS3
key:
secret:
region: us-east-1
version: latest
bucket:
root:
rackspace:
type: Rackspace
username:
password:
container:
dropbox:
type: Dropbox
token:
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:
Usage
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., (*6)
$this->container->get('backup_manager')->makeBackup()->run('development', 's3', 'test/backup.sql', 'gzip');
Restore the database file test/backup.sql.gz
from Amazon S3
to the development
database., (*7)
$this->container->get('backup_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., (*8)
Requirements
- PHP 5.5
- 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