lhpalacio/backup-manager-bundle

此包已被放弃且不再维护。作者建议使用backup-manager/symfony包。

一个简单的Symfony2数据库备份管理器,支持S3、Rackspace、Dropbox、FTP、SFTP。

v1.0 2015-09-06 02:24 UTC

This package is auto-updated.

Last update: 2019-07-30 12:39:43 UTC


README

此包已被放弃且不再维护。作者建议使用backup-manager/symfony包。

BackupManagerBundle

一个简单的Symfony2数据库备份管理器,支持S3、Rackspace、Dropbox、FTP、SFTP。

此包引入了框架无关的Backup Manager,并为Symfony提供无缝集成。

安装

步骤1:下载Bundle

打开命令行控制台,进入您的项目目录,然后执行以下命令以下载此Bundle的最新稳定版本

$ composer require lhpalacio/backup-manager-bundle "^1.0"

此命令要求您全局安装Composer,如Composer文档中的安装章节所述。

步骤2:启用Bundle

然后,通过将其添加到项目app/AppKernel.php文件中注册的Bundle列表中来启用此Bundle。

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new lhpalacio\BackupManagerBundle\LhpalacioBackupManagerBundle(),
        );

        // ...
    }

    // ...
}

步骤3:配置您的数据库和文件系统

# app/config.yml

lhpalacio_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:

使用方法

备份到/从任何配置的数据库中恢复。

将开发数据库备份到Amazon S3。当使用gzip对其进行压缩后,S3备份路径将为test/backup.sql.gz

$this->container->get('backup_manager')->makeBackup()->run('development', 's3', 'test/backup.sql', 'gzip');

备份到/从任何配置的文件系统中恢复。

将来自Amazon S3的数据库文件test/backup.sql.gz恢复到开发数据库。

$this->container->get('backup_manager')->makeRestore()->run('s3', 'test/backup.sql.gz', 'development', 'gzip');

此包不允许您从一个数据库类型备份并恢复到另一个数据库类型。MySQL转储与PostgreSQL不兼容。

要求

  • PHP 5.5
  • MySQL支持需要mysqldumpmysql命令行二进制文件
  • PostgreSQL支持需要pg_dumppsql命令行二进制文件
  • Gzip支持需要gzipgunzip命令行二进制文件