dzasa / maratus-php-backup
备份不同类型的数据库(Couchdb, MongoDB, MySQL, PostgreSQL, Redis, Riak, SQLite)到本地或远程的Google Drive、Dropbox、Copy、FTP等。
v0.1.0
2015-03-14 20:51 UTC
Requires
- php: >=5.5.9
- alchemy/zippy: 0.2.*@dev
- barracuda/copy: dev-master
- dropbox/dropbox-sdk: 1.1.*
- google/apiclient: 1.1.*@dev
- phpseclib/phpseclib: 0.3.*@dev
This package is not auto-updated.
Last update: 2024-09-28 17:21:08 UTC
README
备份更多类型的数据库,本地文件并将它们存储在本地、ftp、google drive、dropbox等。
功能
- 可用的存储客户端
- 本地
- FTP
- Google Drive
- Dropbox
- Copy.com
- 可用的数据库
- MySQL
- Postgresql
- SQLite
- MongoDB
- Redis
- Riak
- CouchDB
- 以压缩格式(ZIP、GNU tar、BSD tar)发送文件
- 通过SSH使用私钥(密码保护)或正常用户名/密码连接到远程主机,并使用SCP压缩和下载
文档和信息
完整的文档和额外信息将在GitHub 项目页面 上提供 :)
用法
require 'vendor/autoload.php'; use Dzasa\MaratusPhpBackup\MaratusBackup; $backup = new MaratusBackup(); $dbConfig = array( 'type' => 'mysql', 'host' => "localhost", 'port' => 3306, 'user' => 'root', 'pass' => '', 'database' => '' ); $backup->addDatabase($dbConfig); $dbConfigPg = array( 'type' => 'postgresql', 'host' => "localhost", 'port' => 5432, 'user' => '', 'pass' => '', 'database' => '' ); $backup->addDatabase($dbConfigPg); $dbConfigMongo = array( 'type' => 'mongodb', 'database' => '', 'host' => '', 'user' => 'dzasa', 'pass' => '' ); $backup->addDatabase($dbConfigMongo); $couchDbConfig = array( 'type' => 'couchdb', 'remote' => true, 'host' => 'localhost', 'user' => 'root', 'pass' => '', 'database' => '', ); $backup->addDatabase($couchDbConfig); $dbConfig2 = array( 'type' => 'mysql', 'host' => "localhost", 'port' => 3306, 'user' => '', 'pass' => '', 'database' => '' ); $backup->addDatabase($dbConfig2); $dBoxConfig = array( 'access_token' => '' ); $backup->addDropbox($dBoxConfig); $gDriveConfig = array( 'client_id' => '', 'client_secret' => '', 'token_file' => 'gdrive-token.json', 'auth_code' => '' ); $backup->addGdrive($gDriveConfig); $redisConfig = array( 'type' => 'redis', 'remote' => true, 'host' => '192.168.1.1', 'user' => 'root', 'private_key' => '', 'private_key_pass' => '', 'database_path' => "/var/lib/redis/dump.rdb", ); $backup->addDatabase($redisConfig); $riakConfig = array( 'type' => 'riak', 'remote' => true, 'host' => '192.168.1.1', 'user' => 'root', 'private_key' => '', 'private_key_pass' => '@', 'bitcask_path' => '/var/lib/riak/bitcask', 'leveldb_path' => '/var/lib/riak/leveldb', 'strong_consistency_path' => '/var/lib/riak/ensembles', 'remote_compress' => 'zip', ); $backup->addDatabase($riakConfig); $sqliteConfig = array( 'type' => 'sqlite', 'remote' => true, 'host' => '192.168.1.1', 'user' => 'root', 'private_key' => '', 'private_key_pass' => '', 'remote_compress' => 'zip', 'database_path' => '/root/backup', ); $backup->addDatabase($sqliteConfig); $copyConfig = array( 'type' => 'copy', 'consumer_key' => '', 'consumer_secret' => '', 'access_token' => '', 'token_secret' => '', ); $backup->addStorage($copyConfig); $localStorageConfig = array( 'type' => 'local', 'save_dir' => 'test2', ); $backup->addStorage($localStorageConfig); $ftpStorage = array( 'type' => 'ftp', 'host' => '192.168.1.1', 'user' => '', 'pass' => '', 'remote_dir' => 'test2', ); $backup->addStorage($ftpStorage); $backup->backup("tar.bz2"); print_r($backup->getDatabaseBackupResult()); echo "-----------------------------\n"; print_r($backup->getStorageBackupResult());
关于
要求
- PHP Zippy
- Copy.com PHP SDK
- Dropbox SDK
- Google API客户端
- PHPSeclib
- Symfony文件系统
- Symfony进程
- Guzzle
提交错误和功能请求
错误和功能请求在GitHub上跟踪
版本
很快 :)
作者
Jasenko Rakovic - naucnik@gmail.com
许可
在MIT许可证下授权 - 有关详细信息,请参阅LICENSE文件