kachkaev/dropbox-backup-bundle

此包已被放弃,不再维护。作者建议使用zenstruck/backup包代替。

允许使用symfony控制台将mysql数据库备份到dropbox

dev-master / 0.1.x-dev 2015-12-02 20:29 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:22:09 UTC


README

此扩展包允许您使用symfony控制台命令将mysql数据库备份到dropbox。

使用hakre的修改版DropboxUploader

重要

此仓库已被放弃,自2013年以来未更新。请享受这些具有更强大功能的替代方案

安装

Composer

将以下依赖项添加到项目的composer.json文件中

    "require": {
        // ...
        "kachkaev/dropbox-backup-bundle": "dev-master"
        // ...
    }

现在运行以下命令让composer下载包

$ php composer.phar update kachkaev/dropbox-backup-bundle

Composer会将包安装到vendor/kachkaev目录。

将包添加到应用程序内核

// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Kachkaev\DropboxBackupBundle\KachkaevDropboxBackupBundle(),
        // ...
    );
}

配置

以下是包的默认配置

kachkaev_dropbox_backup:  
    database:             

        # Only pdo_mysql is supported at the moment
        driver:               pdo_mysql 
        host:                 localhost 
        port:                 ~ 
        dbname:               ~ # Required
        user:                 ~ # Required
        password:             ~ # Required

        # Directory relative to Dropbox root
        output_directory:     

        # Output filename consists of prefix and timestamp
        output_fileprefix:    

        # Set to true to compress .sql to .tgz
        output_compression:   false 

    # Dropbox account credentials (use parameters in config.yml and store real values in prameters.yml)
    dropbox:              
        user:                 ~ # Required
        password:             ~ # Required

建议在您的parameters.yml文件中保留登录名和密码的真实值,例如。

# app/config/config.yml
kachkaev_dropbox_backup:
    database:
        driver:   %database_driver%
        host:     %database_host%
        port:     %database_port%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%
        
        output_directory: db-backup/
        output_fileprefix: db_
        output_compression: true
    dropbox:
        user: %dropbox_user%
        password: %dropbox_password%
# app/config/parameters.yml
	# ...
    database_driver: pdo_mysql
    database_host: localhost
    database_port: null
    database_name: myDatabase
    database_user: myLogin
    database_password: myDatabasePassword
    # ...
    dropbox_user: email@example.com
    dropbox_password: myDropboxPassword
	# ...

使用方法

该包为symfony控制台添加了一个命令:app/console dropbox_backup:database,您可以通过定期作为cron作业执行它。例如,以下cron命令在FreeBSD机器上每3小时转储一次数据库

# /var/cron/tabs/root
0       */03    *       *       *       cd /path/to/symfony_project/root_dir && su -m symfony_user -c 'app/console dropbox_backup:database --env=prod'

目前,此包仅支持单个mysql数据库,但如果有需求,可以添加更多数据库类型。此外,该包可以被扩展以备份内容,而不仅仅是数据库。