ambirus/backup

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

v3.2.1 2021-01-21 12:05 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,并在 providers 数组中添加一个新的项目。

Cornford\Backup\Providers\BackupServiceProvider::class,

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

'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许可证授权。