ratulsaqibkhan / laravel-backup-google-drive
使用laravel backup在Google Drive备份Laravel应用程序
v1.0.0
2022-05-14 11:34 UTC
Requires
- php: ^7.2|^8.0
- nao-pon/flysystem-google-drive: ~1.1
- spatie/laravel-backup: *
README
这是一个Laravel包,用于在Google Drive和本地目录中备份您的应用程序。此包受到Spatie Laravel Backup和Flysystem Google Drive适配器的启发
使用以下命令安装此包
composer require ratulsaqibkhan/laravel-backup-google-drive
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
- 下一步是在config/backup.php中的磁盘选项中添加Google和备份。
'disks' => [ 'google', 'backup', ],
- 现在将config/backup.php中的名称选项设置为空字符串。
/* * The name of this application. You can use this name to monitor * the backups. */ 'name' => '',
- 之后,在config/app.php文件中注册GoogleDriveServiceProvider提供者。
'providers' => [ Ratulsaqibkhan\LaravelBackupGoogleDrive\Providers\GoogleDriveServiceProvider::class, ]
- 此时,我们将添加存储磁盘配置到config/filesystem.php
return [ // ... 'disks' => [ // ... 'google' => [ 'driver' => 'google', 'clientId' => env('GOOGLE_DRIVE_CLIENT_ID'), 'clientSecret' => env('GOOGLE_DRIVE_CLIENT_SECRET'), 'refreshToken' => env('GOOGLE_DRIVE_REFRESH_TOKEN'), 'folderId' => env('GOOGLE_DRIVE_FOLDER_ID'), ], 'backup' => [ 'driver' => 'local', 'root' => base_path('backup'), ], // ... ], // ... ];
-
现在在应用程序根目录中创建一个名为"backup"的文件夹,用于存储本地备份文件。
-
接下来,我们需要更新.env文件。在此环境文件中,我们需要添加以下Google凭证,并设置BACKUP_ENABLE
BACKUP_ENABLE = true
GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=xxx
GOOGLE_DRIVE_REFRESH_TOKEN=xxx
GOOGLE_DRIVE_FOLDER_ID=null
- 现在,在config/backup.php中备份配置之外添加backup_enable。
'backup_enable' => env('BACKUP_ENABLE', false), 'backup' = [ ... ]
- 使用以下命令可以备份应用程序
php artisan laravel-app:backup