paullvl / backup
laravel 的数据库备份包
Requires
- php: >=5.5.9
- ext-zlib: *
- illuminate/console: 5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || 6.* || 7.* || 8.*
- illuminate/support: 5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || 6.* || 7.* || 8.*
- league/flysystem-aws-s3-v3: ~1.0
README
Backup 是一个 Laravel 扩展包,它允许您轻松地创建和恢复数据库备份。
新版本 4.* 与 laravel 8 兼容
快速安装
首先通过 Composer 安装此包。
您可以运行
composer require paulvl/backup 4.*
或者编辑您项目的 composer.json 文件,以添加对 paulvl/backup 的依赖。
"require": {
"paulvl/backup": "4.*"
}
接下来,从终端更新 Composer
composer update
包安装完成后,最后一步是添加服务提供者。打开 config/app.php
,并将新项目添加到 providers 数组中
Backup\BackupServiceProvider::class,
最后发布包的配置文件
php artisan vendor:publish --provider="Backup\BackupServiceProvider" --tag="config"
然后将会创建文件 config/backup.php
。
这就完成了!您现在可以开始使用了。从终端运行 artisan 命令,以查看新的 backup
命令。
php artisan
MySQL 命令
mysql-dump - 创建备份
要备份您当前应用程序的数据库,您需要运行
php artisan backup:mysql-dump
这将创建一个 .sql
文件在您配置的 local-storage.path
上,例如 /this/is/my/path/dbname_20150101201505.sql
,此文件使用当前日期时间命名。如果您想自定义名称,则运行
php artisan backup:mysql-dump custom_name
这将创建一个 .sql
文件在您配置的 local-storage.path
上,例如 /this/is/my/path/custom_name.sql
--connection=mysql - 指定数据库连接名称
指定数据库连接名称,默认使用主连接名称。
php artisan backup:mysql-dump --connection=custom-connection
--compress - 启用文件压缩
从版本 4.* 开始,压缩选项使用 gzenconde。为了使先前压缩的文件与该版本兼容,请参阅 fix-file 命令
启用文件压缩,无论配置文件是否禁用。此选项将始终覆盖 --no-compress
选项
php artisan backup:mysql-dump --compress
--no-compress - 禁用文件压缩
禁用文件压缩,无论配置文件是否启用。此选项将始终被 --compress
选项覆盖
php artisan backup:mysql-dump --no-compress
mysql-restore - 从文件恢复数据库
从版本 4.* 开始,压缩选项使用 gzenconde。为了使先前压缩的文件与该版本兼容,请参阅 fix-file 命令
要恢复备份到您当前应用程序的数据库,您需要运行
php artisan mysql:restore filename
这将显示存储在您配置的 local-storage.disk
上的当前备份文件列表。
--filename | -f - 指定备份文件名称
指定备份文件名称
php artisan backup:mysql-restore --filename=backup_filename
--all-backup-files | -A - 显示所有备份文件
显示磁盘上所有可用的备份文件。默认情况下显示当前连接的数据库的文件。
php artisan backup:mysql-restore --all-backup-files
--from-cloud | -C - 使用云盘
显示云盘上的备份文件列表。
php artisan backup:mysql-restore --from-cloud
--restore-latest-backup | -L - 恢复最新备份文件
使用最新备份文件来恢复数据库。
php artisan backup:mysql-restore --restore-latest-backup
--yes | -y - 确认恢复操作
确认数据库恢复操作,不进行询问。
php artisan backup:mysql-restore --yes
fix-file - 修复备份文件编码模式
在版本 4.* 之前,所有使用压缩选项生成的备份文件都使用 gzenconde 压缩,这使得生成的文件无法与其他任何解压缩软件兼容。这就是我们现在使用 gzencode 的原因,它对外部软件友好。
要修复压缩备份文件的编码模式,您需要运行
php artisan mysql:fix-file
这将显示您配置的 local-storage.disk
上当前压缩备份文件列表。
--filename | -f - 指定备份文件名称
指定备份文件名称
php artisan backup:fix-file --filename=backup_filename
--from-cloud | -C - 使用云盘
显示云盘上的备份文件列表。
php artisan backup:fix-file --from-cloud
--yes | -y - 确认修复操作
确认文件修复操作,不进行询问。
php artisan backup:fix-file --yes
编程备份
如果您需要执行备份,例如,每天午夜执行,您可以在 app/Console/Commands/Kernel.php
中的调度函数上这样做。
protected function schedule(Schedule $schedule)
{
...
$schedule->command('backup:mysql-dump')->dailyAt('00:00');
...
}
贡献力量并与他人分享 ;-)
如果您喜欢这段小代码,请与您的朋友分享,并随时提出任何改进意见。