revolta77/backupmanager

laravel 包,用于备份/恢复文件和数据库。

1.3.1 2020-03-04 05:57 UTC

This package is auto-updated.

Last update: 2024-09-25 00:51:53 UTC


README

Latest Version on Packagist Total Downloads

Laravel BackupManager

简单的laravel包,用于备份/恢复文件和数据库。

分支

这是https://github.com/sarfraznawaz2005/backupmanager的分支

屏幕截图

Main Window

要求

  • PHP >= 5.6
  • Laravel 5
  • mysql(用于恢复数据库)
  • mysqldump(用于备份数据库)
  • tar(用于备份/恢复文件)
  • zcat(用于提取数据库归档)

请确保上述二进制文件已添加到PATH环境变量中,或者您可以在配置文件中指定它们的完整路径。

安装

通过Composer

$ composer require revolta77/backupmanager

对于Laravel < 5.5

将服务提供者添加到config/app.php文件中的providers部分

Revolta77\BackupManager\ServiceProvider::class,

(可选)将外观添加到config/app.php文件中的aliases部分

'BackupManager' => Revolta77\BackupManager\Facades\BackupManager::class,

通过运行以下命令发布包文件

$ php artisan vendor:publish --provider="Revolta77\BackupManager\ServiceProvider"

它应该发布config/backupmanager.php.php配置文件和迁移文件。

运行php artisan migrate以创建备份验证器(verifybackup)表。

最后,在config/backupmanager.php文件中设置选项,并在您在route选项中指定的URL(例如http//yourapp.com/backupmanager)中打开备份管理器,您现在应该看到BackupManager的界面。

有关备份设置的更多信息,请参阅config/backupmanager.php文件。

设置自动备份

要设置自动备份,请将以下内容放置在app/Console/Kernel.php文件中

$schedule->command('backupmanager:create')->daily();

虽然该包提供了GUI界面来管理备份,但以下命令也可用

  backupmanager:create                  Creates backup of files and/or database.
  backupmanager:list                    Shows list of backups taken.
  backupmanager:restore                 Restores a backup already taken.

将备份保存到其他磁盘

默认情况下,此包将备份保存到local磁盘,但您也可以使用laravel文件系统的内置功能将备份保存到其他磁盘。假设您想要上传到不同的服务器,您有ftp凭据,您需要将ftp凭据更新到laravel的config/filesystems.php文件中的ftp磁盘设置下。一旦您这样做,在备份管理器配置文件(config/backupmanager.php)中指定您的磁盘为ftp而不是local,例如

// define disk options
'disk' => 'ftp',

而不是

 'disk' => 'local',

现在备份文件将保存到您的ftp位置而不是本地。

如何验证恢复

虽然没有100%验证恢复的方法,但我们通过在恢复前后将一些内容放入backup-verify文件中来创建和验证恢复功能,以验证files。同样,我们在恢复前后将一些内容放入verifybackup表中来验证database恢复。在这两种情况下,该文件和数据库表的内容在备份和恢复时都不同。

免责声明

此包是为我们的需求创建的,对我们有效,但是不提供任何功能方面的保证,特别是恢复功能,由于恢复功能的工作方式,无法100%验证。因此,自行承担使用此包的风险。

致谢

许可协议

有关更多信息,请参阅许可文件