frcho/backup-manager

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

安装数: 2,332

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

1.0.1 2017-08-08 15:25 UTC

This package is auto-updated.

Last update: 2024-09-11 14:16:09 UTC


README

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

此包包含无框架的 Backup Manager,并提供与 Symfony 的无缝集成。

对于symfony的早期版本,请使用标签1.0.1

安装

步骤1:下载Bundle

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

$ composer require frcho/backup-manager "dev-master"

此命令需要您全局安装了Composer,请参阅Composer文档中的安装章节

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

# config/packages/frcho_backup_manager.yaml

frcho_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

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

将开发数据库备份到 Local。当使用 gzip 压缩后,本地备份路径将是 test/backup.sql.gz

$container->get('backup_manager')->makeBackup()->run('development', array(new Destination('local', 'test/backup.sql.gz')), 'gzip');

注意:如果您想要不压缩上传文件,请传递一个字符串'null'而不是 gzip

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

Amazon S3 将数据库文件 test/backup.sql.gz 恢复到 development 数据库。

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

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

需求

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