afzalsabbir / backupmanager
Backpack中备份管理的管理界面,适用于Laravel 5.2+
Requires
- afzalsabbir/crud: ^4.0|^5.0
- spatie/laravel-backup: ^8.0|^7.0|^6.1
Requires (Dev)
- phpunit/phpunit: ^9.0||^7.0
- scrutinizer/ocular: ~1.7|~1.1
This package is auto-updated.
Last update: 2024-09-28 12:10:50 UTC
README
为 spatie/laravel-backup 提供的管理界面。允许管理员轻松管理备份(下载和删除)。在Laravel 5.2+到9的Backpack包中使用。
安全更新和重大变更
请 订阅Backpack通讯 以获取有关任何安全更新、重大变更或新功能的最新信息。我们每年最多发送两次电子邮件。
安装
- 在您的终端中
# Install the package composer require afzalsabbir/backupmanager # Publish the backup and backupmanager configs and lang files: php artisan vendor:publish --provider="Backpack\BackupManager\BackupManagerServiceProvider" --tag=backup-config --tag=lang # [optional] Add a sidebar_content item for it php artisan backpack:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ backpack_url('backup') }}'><i class='nav-icon la la-hdd-o'></i> Backups</a></li>"
- [可选] 指示Laravel在控制台内核中自动运行备份
// app/Console/Kernel.php protected function schedule(Schedule $schedule) { // if you are not using notifications you should add the `--disable-notifications` flag to this commands $schedule->command('backup:clean')->daily()->at('04:00'); $schedule->command('backup:run')->daily()->at('05:00'); }
- 检查是否正常工作
如果抛出“未知错误”黄色气泡,并且在日志文件中看到“备份失败,因为导出过程以退出代码127失败:找不到命令。”错误,则mysqldump / pg_dump未安装,或者您需要指定其位置。
您可以在定义数据库凭证的 config/database.php
文件中这样做,通过添加导出变量。以下是一个示例
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, 'dump' => [ 'dump_binary_path' => '/path/to/directory/', // only the path, without `mysqldump` or `pg_dump` // 'dump_binary_path' => '/Applications/MAMP/Library/bin/', // works for MAMP on Mac OS // 'dump_binary_path' => '/opt/homebrew/bin/', // works for Laravel Valet on Mac OS 'use_single_transaction', 'timeout' => 60 * 5, // 5 minute timeout // 'exclude_tables' => ['table1', 'table2'], // 'add_extra_option' => '--optionname=optionvalue', ] ],
使用方法
这应该是一个点对点界面,您可以随时创建和下载备份。
在 your-project-domain/admin/backup 尝试
配置和故障排除
对于附加配置(例如通知)
- 发布spatie备份文件
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider" --tag="backup-config"
- 查看 spatie/laravel-backup 文档 了解如何在
config/backup.php
中配置您的备份系统;强烈建议您至少 配置通知; - 查看
config/backpack/backupmanager.php
以配置如何从界面运行备份;默认情况下,它执行backup:run --disable-notifications
,但在您配置了通知后,您可以移除该标志(或添加其他标志);
[提示] 当您修改 config/backup.php
或 config/backpack/backupmanager.php
中的选项时,请手动运行 php artisan backup:run
以确保更改后仍然正常工作。 注意:在运行 backup:run
命令之前可能需要运行 php artisan optimize:clear
和/或 php artisan config:clear
。
升级
请参阅升级指南 以获取
- 从v3到v4(新!)
- 从v2到v3
- 从1.2.x到1.3.x
- 从1.1.x到1.2.x
变更日志
请参阅发布页面 了解最近发生了什么变化。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 以获取详细信息。
覆盖功能
如果您需要修改项目中的此功能
- 创建一个
routes/afzalsabbir/backupmanager.php
文件;该包将看到它,并加载 您的 路由文件,而不是包中的文件; - 创建扩展包中那些的控制器/模型,并在您的新路由文件中使用它们;
- 修改您想要在新的控制器/模型中修改的任何内容;
安全性
如果您发现任何与安全相关的问题,请通过电子邮件tabacitu@backpackforlaravel.com进行反馈,而不是使用问题跟踪器。
请订阅Backpack通讯,以便了解任何安全更新、重大更改或新功能。我们每1-2个月发送一封电子邮件。
致谢
许可证
Backpack对非商业用途免费,商业用途为49欧元/项目。请参阅许可证文件和backpackforlaravel.com以获取更多信息。
雇佣我们
我们投入了超过10,000小时来创建、完善和维护Laravel的行政面板。我们开发了电子商务、在线学习、ERP系统、社交网络、支付网关等。我们对行政面板的工作如此之多,以至于我们创造了该领域最受欢迎的软件之一——只是因为我们公开了我们项目中的重复内容。
如果您正在寻找一个开发者/团队来帮助您在Laravel上构建行政面板,那就不要再寻找了。您将很难找到比我们更有经验和热情的人。这就是我们所做的事情。 联系我们 - 让我们看看我们是否可以合作。