afzalsabbir/backupmanager

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

v4.0.0 2022-06-28 07:31 UTC

This package is auto-updated.

Last update: 2024-09-28 12:10:50 UTC


README

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

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

安全更新和重大变更

订阅Backpack通讯 以获取有关任何安全更新、重大变更或新功能的最新信息。我们每年最多发送两次电子邮件。

Backpack\BackupManager screenshot

安装

  1. 在您的终端中
# 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>"
  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/afzalsabbir/backupmanager.php 文件;该包将看到它,并加载 您的 路由文件,而不是包中的文件;
  • 创建扩展包中那些的控制器/模型,并在您的新路由文件中使用它们;
  • 修改您想要在新的控制器/模型中修改的任何内容;

安全性

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

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

致谢

许可证

Backpack对非商业用途免费,商业用途为49欧元/项目。请参阅许可证文件backpackforlaravel.com以获取更多信息。

雇佣我们

我们投入了超过10,000小时来创建、完善和维护Laravel的行政面板。我们开发了电子商务、在线学习、ERP系统、社交网络、支付网关等。我们对行政面板的工作如此之多,以至于我们创造了该领域最受欢迎的软件之一——只是因为我们公开了我们项目中的重复内容。

如果您正在寻找一个开发者/团队来帮助您在Laravel上构建行政面板,那就不要再寻找了。您将很难找到比我们更有经验和热情的人。这就是我们所做的事情联系我们 - 让我们看看我们是否可以合作