sarfraznawaz2005/backupmanager
laravel包,用于备份/还原文件和数据库。
Requires
- illuminate/support: ~5|~6|~7|~8|~9|~10|~11
README
Laravel BackupManager
一个简单的laravel包,用于备份/还原文件和数据库。
截图
需求
- 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%验证。因此,请自行承担风险使用此包。
致谢
许可
有关更多信息,请参阅许可文件。