levgenij / laravel-db-backup
备份数据库并恢复。加密转储。将转储保存到数据库并上传到Dropbox。从Dropbox恢复转储。
1.0.4
2018-09-30 12:24 UTC
Requires
- php: >=5.4.0
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-09-23 17:08:40 UTC
README
基于 https://github.com/schickling/laravel-backup,支持Laravel 5.*。
安装
运行composer命令
composer require wladmonax/laravel-db-backup
或者
更新你的composer.json
文件,将其作为依赖项包含进来
"wladmonax/laravel-db-backup": "1.1.*",
通过将服务提供者添加到config/app.php
文件中的提供者数组来注册服务提供者。
'providers' => array( 'Witty\LaravelDbBackup\DBBackupServiceProvider' )
或者
'providers' => array( Witty\LaravelDbBackup\DBBackupServiceProvider::class )
运行命令创建表
$ php artisan migrate
配置
通过运行以下命令将配置文件复制到你的项目
php artisan vendor:publish
这将生成一个如下的配置文件
return [ // add a backup folder in the app/database/ or your dump folder 'path' => app_path() . '/database/backup/', // add the path to the restore and backup command of mysql // this exemple is if your are using MAMP server on a mac // on windows: 'C:\\...\\mysql\\bin\\' // on linux: '/usr/bin/' // trailing slash is required 'mysql' => [ 'dump_command_path' => '/Applications/MAMP/Library/bin/', 'restore_command_path' => '/Applications/MAMP/Library/bin/', ], // s3 settings 's3' => [ 'path' => 'your/s3/dump/folder' ] //dropbox settings 'dropbox' => [ 'accessToken' => DROPBOX_ACCESS_TOKEN, 'appSecret' => DROPBOX_APP_SECRET, 'prefix' => DROPBOX_PREFIX, //this is name of your dropbox folder ], //encrypt settings 'encrypt' => [ 'key' => ENCRYPT_KEY ], // Use GZIP compression 'compress' => false, ];
所有设置都是可选的,并且都有合理的默认值。
用法
备份
在app/storage/dumps
中创建一个转储文件
$ php artisan db:backup
使用特定的数据库
$ php artisan db:backup --database=mysql
需要加密数据库
$ php artisan db:backup --encrypt
将转储保存到Dropbox
$ php artisan db:backup --dropbox
你可以这样合并选项
$ php artisan db:backup --dropbox --encrypt
上传到AWS S3
$ php artisan db:backup --upload-s3 your-bucket
如果你不想保留SQL转储的本地副本,可以使用--keep-only-s3
选项。
使用aws/aws-sdk-php-laravel包,需要配置。
使用spatie/flysystem-dropbox包。
恢复
路径相对于app/storage/dumps文件夹。
恢复转储
$ php artisan db:restore dump.sql
从最新的备份转储恢复
$ php artisan db:restore --last-dump
从Dropbox恢复
$ php artisan db:restore --dropbox-dump=filename.sql
从Dropbox最新的转储恢复
$ php artisan db:restore --dropbox-last-dump
列出转储
$ php artisan db:restore