ldavidsp/backup

一个简单的方法来备份和恢复Laravel中的数据库。

v8.1 2020-10-31 20:56 UTC

README

Latest Stable Version Total Downloads Build Status Scrutinizer Code Quality

对于Laravel 5.x,请查看版本2.7.0

对于Laravel 4.x,请查看版本1.3.0

将Backup视为一种简单的数据库备份和恢复方法,具有与Laravel artisan的命令行集成。这些包括

  • Backup::export
  • Backup::restore
  • Backup::setBackupEngineInstance
  • Backup::getBackupEngineInstance
  • Backup::setBackupFilesystemInstance
  • Backup::getBackupFilesystemInstance
  • Backup::setEnabled
  • Backup::getEnabled
  • Backup::setPath
  • Backup::getPath
  • Backup::setCompress
  • Backup::getCompress
  • Backup::setFilename
  • Backup::getFilename
  • Backup::getWorkingFilepath
  • Backup::getRestorationFiles
  • Backup::getProcessOutput

安装

首先,通过Composer安装此包。编辑你的项目中的composer.json文件,以需要cornford/backup

"require": {
	"cornford/backup": "3.*"
}

接下来,在终端中更新Composer

composer update

此操作完成后,下一步是添加服务提供者。打开config/app.php,并在提供者数组中添加一个新的条目。

Cornford\Backup\Providers\BackupServiceProvider::class,

下一步是引入外观。打开config/app.php,并在别名数组中添加一个新的条目。

'Backup'         => Cornford\Backup\Facades\BackupFacade::class,

最后,我们需要将配置文件引入到您的应用程序中。

php artisan vendor:publish --provider="Cornford\Backup\Providers\BackupServiceProvider" --tag=backup

就这样!您已经准备就绪。

配置

您现在可以通过几个简单的步骤配置Backup。打开config/backup.php并根据需要更新选项。

  • enabled - 启用备份。
  • path - 数据库备份路径,绝对路径,或相对于public目录的路径,需要尾部斜杠。
  • filename - 在导出数据库时使用的数据库导出文件名。
  • compress - 启用使用gzip的备份压缩。需要gzencode/gzdecode。
  • processors - 设置数据库引擎处理器位置,需要尾部斜杠。

用法

使用Backup类就像在任何您觉得合适的Controller / Model / File中使用一样简单

Backup:

这将为您提供访问权限

导出

export方法允许在定义的备份位置创建数据库导出文件,带有一个可选的文件名选项。

Backup::export();
Backup::export('database_backup');

恢复

restore方法允许将数据库导出文件恢复到数据库,指定文件的完整文件路径。

Backup::restore('./database_backup.sql');

设置备份引擎实例

setBackupEngineInstance方法允许使用实现BackupEngineInterface的自定义备份引擎实例对象。

Backup::setBackupEngineInstance(new BackupEngineMysql(new BackupProcess(new Symfony\Component\Process\Process), 'database', 'localhost', 3306, 'root', '', []));

获取备份引擎实例

getBackupEngineInstance方法返回当前备份引擎实例对象。

Backup::getBackupEngineInstance();

设置备份文件系统实例

setBackupFilesystemInstance方法允许使用实现BackupFilesystemInterface的自定义备份文件系统实例对象。

Backup::setBackupFilesystemInstance(new BackupFilesystemInstance);

获取备份文件系统实例

getBackupFilesystemInstance方法返回当前备份文件系统实例对象。

Backup::getBackupFilesystemInstance();

设置启用

setEnabled方法允许根据状态切换备份的开启或关闭,指定一个布尔值。

Backup::setEnabled(true);
Backup::setEnabled(false);

获取启用

getEnabled方法返回当前备份的启用状态,返回一个布尔值表示其状态。

Backup::getEnabled();

设置路径

setPath方法允许设置备份位置路径,指定一个字符串形式的相对或绝对路径,需要尾部斜杠。

Backup::setPath('/path/to/directory/');

获取路径

getPath 方法返回当前绝对备份路径,以字符串格式表示。

Backup::getPath();

设置压缩

setCompress 方法允许开关备份文件的压缩功能,通过指定布尔值来设置状态。

Backup::setCompress(true);
Backup::setCompress(false);

获取压缩

getCompress 方法返回当前的压缩备份状态,返回布尔值来表示其状态。

Backup::getCompress();

设置文件名

setFilename 方法允许设置备份文件名,以字符串格式指定。

Backup::setFilename('database_backup');
Backup::setFilename('backup-' . date('Ymd-His'));

获取文件名

getFilename 方法返回当前设置的备份文件名,以字符串格式表示。

Backup::getFilename();

获取工作文件路径

getWorkingFilepath 方法返回当前正在处理的当前项的设置工作文件路径,以字符串格式表示。

Backup::getWorkingFilepath();

获取恢复文件

getRestorationFiles 方法返回一个数组,包含给定路径内所有的恢复文件路径,可以设置一个可选的绝对路径,作为字符串。

Backup::getRestorationFiles();
Backup::getRestorationFiles('/path/to/directory/');

许可证

备份是开源软件,根据MIT许可证授权。