mrtnsn / backup-manager
Laravel 的备份管理器
2.0.0
2018-02-06 09:02 UTC
Requires
- php: ^7.0
- illuminate/console: ~5.1.0||~5.2.0||~5.3.0||~5.4.0||~5.5.0
- illuminate/contracts: ~5.1.0||~5.2.0||~5.3.0||~5.4.0||~5.5.0
- illuminate/database: ~5.1.0||~5.2.0||~5.3.0||~5.4.0||~5.5.0
- illuminate/filesystem: ~5.1.0||~5.2.0||~5.3.0||~5.4.0||~5.5.0
- illuminate/support: ~5.1.0||~5.2.0||~5.3.0||~5.4.0||~5.5.0
- league/flysystem: ^1.0.27
- symfony/process: ~2.7||~3.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^6.2
Suggests
- league/flysystem-aws-s3-v3: Allows you to export and import backups on AWS S3
This package is not auto-updated.
Last update: 2024-09-22 07:41:39 UTC
README
为 Laravel 提供易于使用的备份管理器。
功能
- 快速安装
- 与 Laravel 的队列和文件系统集成
- 支持多个 Laravel 版本(
5.1 => 5.5) - 每个表都存储在自己的文件中
- 大表的分块
🔥 破坏性更改
在版本 2.0.0 中,我们改变了备份文件创建的方式,这意味着在 2.0.0 之前创建的备份无法自动导入。它们仍然可以手动导入。
安装
Composer
composer require mrtnsn/backup-manager
服务提供者
将服务提供者添加到 config/app.php 中的 providers,以便在您的 Laravel 应用程序中注册。
Mrtnsn\BackupManager\BackupManagerProvider::class,
发布
如果您需要更改默认配置,您必须发布配置文件。
php artisan vendor:publish --provider="Mrtnsn\BackupManager\BackupManagerProvider"
使用方法
命令
该软件包公开了两个 artisan 命令,一个用于 export,另一个用于 import。
导出
导出将使用您的当前凭据和配置将数据库导出到您希望的位置。这是通过从数据库创建模式文件,然后检查每个表并将其分割成块来完成的。每个块和模式文件都会上传到您希望的位置。
此命令不会提供任何反馈,因为它是从调度器运行的。这可以防止日志文件被不需要的数据填满。
可以通过自定义标签手动执行此命令,这可能在多个开发者正在测试不同的数据库并在预发布服务器之间快速切换时很有用。
通过调度运行它(app/Console/Kernel.php)
$schedule->command('backup-manager:export') ->daily();
手动运行它
php artisan backup-manager:export
使用自定义标签手动运行它
php artisan backup-manager:export --tag=newFeature
导入
导入将使用您的当前凭据和配置导入选定的备份。
此命令设计为手动运行,因为它需要反馈来获取正确的备份。
您可以选择要恢复的 subFolder 和 version。选择之后,它将遍历所有匹配这些参数的文件,并在导入之前删除表。
这将造成最小停机时间,因为它一次只影响一个表。
手动运行它
php artisan backup-manager:import
默认配置
路线图
- 测试
backup-manager:inspect查看备份的文件和信息- 失败的备份通知系统
- 对 PostgreSQL 的支持