Laravel 8 store backup on Dropbox example. In this tutorial, you will learn how to integrate dropbox in laravel 8 app for store backup on it.
Dropbox integration is easy in Laravel 8 app using spatie/laravel-backup package.
How to Store Backup On Dropbox In Laravel 8
Use the following steps to save laravel 6, 7, 8 application backup on dropbox storage:
- Step 1 – Get Access Token From Dropbox
- Step 2 – Install Laravel 8 App
- Step 3 – Connecting App to Database
- Step 4 – Install spatie/laravel-backup
- Step 5 – Setup Dropbox as Filesystem in Laravel
- Step 6 – Configure Dropbox Details
- Step 7 – Execute Backup Command
Step 1 – Get Access Token From Dropbox
Visit Dropbox Console. And create a new project as following in below picture:
Now, fill in the form and click “Generate” button to generate an access token.
Now, you have got Access token from dropbox. Please save it in any text file. Because you need to update these values in the .env
file of your laravel 8 app.
Step 2 – Install Laravel 8 App
In this step, open your terminal and navigate to local web server directory. Then type the following command on terminal to download laravel 8 app:
composer create-project --prefer-dist laravel/laravel Blog
Step 3 – Connecting App to Database
In this step, navigate to root directory of download laravel app. And open .env file. Then configure database details like following:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=here your database name here
DB_USERNAME=here database username here
DB_PASSWORD=here database password here
Step 4 – Install spatie/laravel-backup
In this step, execute the following command on terminal to install spatie/laravel-backup package in laravel 8 app:
composer require spatie/laravel-backup
Then execute the following command on terminal to publish this installed package:
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
Note that, it will publish the configuration file in config/backup.php
. Now, configure your backup according to your requirement.
Now, you need to add dropbox
details in the disk option in the config/backup.php
.
<?php return [ // ... 'destination' => [ // ... /* * The disk names on which the backups will be stored. */ 'disks' => [ 'dropbox', ],
Step 5 – Setup Dropbox as Filesystem in Laravel
In this step, you need to execute the following command on terminal to install a Filesystem adapter for Dropbox. So, run the following command in your terminal:
composer require spatie/flysystem-dropbox
php artisan make:provider DropboxServiceProvider
Then, inside the boot()
method add the Dropbox for the Laravel filesystem:
<?php namespace App\Providers; use Storage; use League\Flysystem\Filesystem; use Illuminate\Support\ServiceProvider; use Spatie\Dropbox\Client as DropboxClient; use Spatie\FlysystemDropbox\DropboxAdapter; class DropboxServiceProvider extends ServiceProvider { // ... public function boot() { Storage::extend('dropbox', function ($app, $config) { $client = new DropboxClient( $config['authorization_token'] ); return new Filesystem(new DropboxAdapter($client)); }); } }
After this, register the service provider by adding the following line in the providers
array of config/app.php
.
'providers' => [ // ... App\Providers\DropboxDriveServiceProvider::class, ];
Step 6 – Configure Dropbox Details
In this step, configure Dropbox app with this laravel app. So, open your laravel 8 project in any text editor. Then navigate the config directory and open filesystem.php file and add the client id, secret and callback url:
<?php return [ // ... 'disks' => [ // ... 'dropbox' => [ 'driver' => 'dropbox', 'authorization_token' => env('DROPBOX_AUTH_TOKEN'), ], ], ];
And also you need to update .env
file of laravel 8 app. In this environment file you need to add the following Dropbox auth token:
DROPBOX_AUTH_TOKEN=<your token>
Step 7 – Execute Backup Command
In this step, open your terminal and execute the following command to check the backup file is created or not:
php artisan backup:run
Conclusion
Laravel 8 store backup on dropbox example tutorial, you have learned how to store laravel 8 app backup on dropbox using spatie/laravel-backup.