sarfraznawaz2005/backupmanager

laravel包,用于备份/还原文件和数据库。

1.6.0 2024-05-01 14:52 UTC

This package is auto-updated.

Last update: 2024-08-31 00:25:52 UTC


README

Latest Version on Packagist Total Downloads

Laravel BackupManager

一个简单的laravel包,用于备份/还原文件和数据库。

截图

Main Window

需求

  • PHP >= 5.6
  • = Laravel 5

  • mysql(用于还原数据库)
  • mysqldump(用于备份数据库)
  • tar(用于备份/还原文件)
  • zcat(用于提取数据库存档)

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

安装

通过Composer

$ composer require sarfraznawaz2005/backupmanager

对于Laravel < 5.5

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

Sarfraznawaz2005\BackupManager\ServiceProvider::class,

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

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

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

$ php artisan vendor:publish --provider="Sarfraznawaz2005\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:create --only="db"      Creates backup of database only.
  backupmanager:create --only="files"   Creates backup of files only.
  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%验证。因此,请自行承担风险使用此包。

致谢

许可

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