背包/备份管理器

Backpack中管理备份的Admin界面,适用于Laravel 5.2+

v5.0.5 2024-09-03 13:39 UTC

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Style CI Total Downloads

spatie/laravel-backup提供的Admin界面。允许管理员轻松管理备份(下载和删除)。在Laravel 5.2+到9的Backpack包中使用。

安全更新和重大变更

订阅Backpack通讯,以便了解任何安全更新、重大变更或新功能。我们每年最多发送两次电子邮件。

Backpack\BackupManager screenshot

安装

  1. 在您的终端中
# Install the package
composer require backpack/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 menu item for it
# For Backpack v6
php artisan backpack:add-menu-content "<x-backpack::menu-item title='Backups' icon='la la-hdd-o' :link=\"backpack_url('backup')\" />"
# For Backpack v5 or v4
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>"
  1. [可选] 指示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');
}
  1. 检查是否正常工作

如果出现“未知错误”黄色气泡,并在日志文件中看到“备份失败,因为导出过程以退出代码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.phpconfig/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/backpack/backupmanager.php文件;该包将看到它,并加载您的路由文件,而不是包中的文件;
  • 创建扩展包中已有的控制器/模型,并在您的新路由文件中使用它们;
  • 修改您想要在新的控制器/模型中进行的任何内容;

安全性

如果您发现任何与安全相关的问题,请通过电子邮件tabacitu@backpackforlaravel.com联系,而不是使用问题跟踪器。

订阅Backpack Newsletter,以便了解任何安全更新、重大更改或新功能。我们每1-2个月发送一封电子邮件。

致谢

许可协议

MIT许可协议(MIT)。请参阅许可文件以获取更多信息。

雇佣我们

我们已经在Laravel上创建、打磨和维护了超过10,000小时的管理面板。我们开发了电子商务、电子学习、ERP、社交网络、支付网关等等。我们对管理面板的工作如此之多,以至于我们创建了我们领域中最受欢迎的软件之一——仅仅是从使我们在项目中重复的内容公开。

如果您正在寻找一个开发者/团队来帮助您在Laravel上构建管理面板,无需再寻找。您将很难找到更有经验且对此充满热情的人。这就是我们所做的事情联系我们 - 让我们看看是否可以合作