ambirus / backup
在 Laravel 中备份和恢复数据库的简单方法。
Requires
- php: >=7.2
- illuminate/config: ^6.0 || ^7.0 || ^8.0
- illuminate/console: ^6.0 || ^7.0 || ^8.0
- illuminate/support: ^6.0 || ^7.0 || ^8.0
- symfony/process: ^4.3
Requires (Dev)
- mockery/mockery: ^1.2.4
- phpmd/phpmd: ^2.7
- phpspec/phpspec: ^6.0
- phpunit/phpunit: ^8.4
- squizlabs/php_codesniffer: ^3.5
- dev-master
- v3.2.1
- v3.2.0
- v3.1.0
- v3.0.0
- v2.8.0.x-dev
- v2.8.0
- v2.7.0
- v2.6.0
- v2.5.0
- v2.4.0
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1.x-dev
- v2.1.1
- v2.1.0
- v2.0.3.x-dev
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.4.0.x-dev
- v1.4.0
- v1.3.0.x-dev
- v1.3.0
- v1.2.1
- v1.2.0.x-dev
- v1.2.0
- v1.1.3.x-dev
- v1.1.3
- v1.1.2.x-dev
- v1.1.2
- v1.1.1.x-dev
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- dev-develop
This package is auto-updated.
Last update: 2024-09-26 22:34:52 UTC
README
对于 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许可证授权。