cornford/backup
Composer 安装命令:
composer require cornford/backup
包简介
An easy way backup and restore databases in Laravel.
README 文档
README
For Laravel 5.x, check version 2.7.0
For Laravel 4.x, check version 1.3.0
Think of Backup as an easy way to backup and restore a database, with command line integration to Laravel's artisan. These include:
Backup::exportBackup::restoreBackup::setBackupEngineInstanceBackup::getBackupEngineInstanceBackup::setBackupFilesystemInstanceBackup::getBackupFilesystemInstanceBackup::setEnabledBackup::getEnabledBackup::setPathBackup::getPathBackup::setCompressBackup::getCompressBackup::setFilenameBackup::getFilenameBackup::getWorkingFilepathBackup::getRestorationFilesBackup::getProcessOutput
Installation
Begin by installing this package through Composer. Edit your project's composer.json file to require cornford/backup.
"require": {
"cornford/backup": "3.*"
}
Next, update Composer from the Terminal:
composer update
Once this operation completes, the next step is to add the service provider. Open config/app.php, and add a new item to the providers array.
Cornford\Backup\Providers\BackupServiceProvider::class,
The next step is to introduce the facade. Open config/app.php, and add a new item to the aliases array.
'Backup' => Cornford\Backup\Facades\BackupFacade::class,
Finally we need to introduce the configuration files into your application.
php artisan vendor:publish --provider="Cornford\Backup\Providers\BackupServiceProvider" --tag=backup
That's it! You're all set to go.
Configuration
You can now configure Backup in a few simple steps. Open config/backup.php and update the options as needed.
enabled- Enable Backup.path- A database backup path, absolute path, or path relative from public directory, a trailing slash is required.filename- A database export filename to use when exporting databases.compress- Enable backup compression using gzip. Requires gzencode/gzdecode.processors- Set the database engines processor location, trailing slash is required.
Usage
It's really as simple as using the Backup class in any Controller / Model / File you see fit with:
Backup::
This will give you access to
- Export
- Restore
- Set Backup Engine Instance
- Get Backup Engine Instance
- Set Backup Filesystem Instance
- Get Backup Filesystem Instance
- Set Enabled
- Get Enabled
- Set Path
- Get Path
- Set Compress
- Get Compress
- Set Filename
- Get Filename
- Get Working Filepath
- Get Restoration Files
- Get Process Output
Export
The export method allows a database export file to be created in the defined backup location, with an optional filename option.
Backup::export();
Backup::export('database_backup');
Restore
The restore method allows a database export file to be restored to the database, specifying a full filepath to the file.
Backup::restore('./database_backup.sql');
Set Backup Engine Instance
The setBackupEngineInstance method allows a custom backup engine instance object to be utilised, implementing the BackupEngineInterface.
Backup::setBackupEngineInstance(new BackupEngineMysql(new BackupProcess(new Symfony\Component\Process\Process), 'database', 'localhost', 3306, 'root', '', []));
Get Backup Engine Instance
The getBackupEngineInstance method returns the current backup engine instance object.
Backup::getBackupEngineInstance();
Set Backup Filesystem Instance
The setBackupFilesystemInstance method allows a custom backup filesystem instance object to be utilised, implementing the BackupFilesystemInterface.
Backup::setBackupFilesystemInstance(new BackupFilesystemInstance);
Get Backup Filesystem Instance
The getBackupFilesystemInstance method returns the current backup filesystem instance object.
Backup::getBackupFilesystemInstance();
Set Enabled
The setEnabled method allows backup to be switched on or off, specifying a bool for state.
Backup::setEnabled(true);
Backup::setEnabled(false);
Get Enabled
The getEnabled method returns the current backup enabled status, returning a bool for its state.
Backup::getEnabled();
Set Path
The setPath method allows backup location path to be set, specifying a relative or absolute path as a string, a trailing slash is required.
Backup::setPath('/path/to/directory/');
Get Path
The getPath method returns the current absolute backup path in string format.
Backup::getPath();
Set Compress
The setCompress method allows backup file compression to be switched on or off, specifying a bool for state.
Backup::setCompress(true);
Backup::setCompress(false);
Get Compress
The getCompress method returns the current compression backup status, returning a bool for its state.
Backup::getCompress();
Set Filename
The setFilename method allows backup filename to be set, specified in a string format.
Backup::setFilename('database_backup');
Backup::setFilename('backup-' . date('Ymd-His'));
Get Filename
The getFilename method returns the current set backup filename in a string format.
Backup::getFilename();
Get Working Filepath
The getWorkingFilepath method returns the current set working filepath of the current item being processed in a string format.
Backup::getWorkingFilepath();
Get Restoration Files
The getRestorationFiles method returns an array containing all of the restoration file filepaths within a give path, an optional absolute path can be set as a string.
Backup::getRestorationFiles();
Backup::getRestorationFiles('/path/to/directory/');
License
Backup is open-sourced software licensed under the MIT license
cornford/backup 适用场景与选型建议
cornford/backup 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 25.68k 次下载、GitHub Stars 达 40, 最近一次更新时间为 2015 年 06 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「database」 「dump」 「backup」 「laravel」 「restore」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 cornford/backup 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 cornford/backup 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 cornford/backup 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This package will add the `dd` and `dump` helpers to your Phalcon application.
Dibi is Database Abstraction Library for PHP
A SDK for working with B2 cloud storage.
Simple Twig extension improving templates debugging
nice output for debug functions for PHP 5.3
Store your language lines in the database, yaml or other sources
统计信息
- 总下载量: 25.68k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 42
- 点击次数: 21
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-06-26