revolta77 / backupmanager
laravel 包,用于备份/恢复文件和数据库。
Requires
- illuminate/support: ~5|~6|~7
This package is auto-updated.
Last update: 2024-09-25 00:51:53 UTC
README
Laravel BackupManager
简单的laravel包,用于备份/恢复文件和数据库。
分支
这是https://github.com/sarfraznawaz2005/backupmanager的分支
屏幕截图
要求
- 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%验证。因此,自行承担使用此包的风险。
致谢
许可协议
有关更多信息,请参阅许可文件。