cornford/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 类在控制器 / 模型 / 文件中非常简单,如下所示:

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 许可协议 开源。