kachkaev / dropbox-backup-bundle
dev-master / 0.1.x-dev
2015-12-02 20:29 UTC
Requires
- php: >=5.3.2
- doctrine/doctrine-bundle: >=1.0,<1.3-dev
- symfony/framework-bundle: >=2.0,<2.3-dev
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数据库,但如果有需求,可以添加更多数据库类型。此外,该包可以被扩展以备份内容,而不仅仅是数据库。