Varmuuskopioi Laravel-sovellus Dropboxissa
Sovellusten varmuuskopiointi pilvipalveluun on aina suositeltavaa. Et koskaan tiedä, milloin sinun on ehkä palautettava sivustosi varmuuskopiosta. Amazon S3, Google Cloud, Dropbox jne. Ovat suosittuja palveluja sovelluksen varmuuskopion tallentamiseen. Tässä opetusohjelmassa tutkitaan Laravel-sovelluksen varmuuskopion tallentamista Dropboxiin. Jos haluat tallentaa sen Amazon S3: een, lue artikkeli, joka tallentaa Laravel-varmuuskopion Amazon S3: lle.
Dropbox tarjoaa API-palvelun, joka voi lähettää varmuuskopion sovelluksestamme Dropboxiin. Kun on kyse Laravelista, meidän on määritettävä Laravel-tiedostojärjestelmä ja asetettava Dropbox yhdeksi tiedostotallennustilaksi. Sitten se on vuorovaikutuksessa Dropbox API: n kanssa kulissien takana.
Aikana vuorovaikutus Dropbox API, meidän täytyy olla käyttöoikeustunnukseksi n Dropbox tilin lupaa. Tartu ensin Dropbox-käyttöoikeustunnukseen.
Hanki Dropbox Access Token
Luo Dropbox-sovellus saadaksesi käyttöoikeustunnuksen. Kun kirjaudut sisään, napsauta Luo sovellus -painiketta. Seuraavassa vaiheessa pyydetään valitsemaan sovellusliittymä. Valitse käyttöoikeustyypin alla Sovelluskansio ja anna nimi sovelluksellesi. Katso alla olevaa kuvakaappausta.
Seuraavaksi Lisää "Käyttöoikeus" -välilehdeltä tiedostojen ja kansioiden laajuudet, jotta sovelluksemme voi kirjoittaa Dropboxiin.
Valitse lopuksi Asetukset-välilehdestä Access token expiration -kentän Ei vanhentumista -vaihtoehto ja napsauta Luo-painiketta, joka antaa sinulle käyttöoikeustunnuksen.
Määritä Laravel-tiedostojärjestelmä Dropboxia varten
Laravel tarjoaa tiedostojärjestelmän, joka antaa ohjaimet paikallista tallennustilaa, SFTP: tä ja Amazon S3: ta varten. Jotta Dropbox voidaan lisätä ohjaimeksi, meidän on määritettävä se hieman. Se edellyttää, että lisäät Dropbox-sovittimen Laravel-sovellukseen. Voit tehdä sen seuraamalla alla olevia ohjeita.
Asenna spatie / flysystem-dropbox- kirjasto komennolla:
composer require spatie/flysystem-dropbox
Kun asennat kirjaston, luo palveluntarjoaja DropboxServiceProvider
alla olevalla komennolla.
php artisan make:provider DropboxServiceProvider
Seuraavaksi määritellään mukautetun ajurin dropbox
että boot
menetelmä DropboxServiceProvider
.
appProvidersDropboxServiceProvider.php
<?php
namespace AppProviders;
use IlluminateSupportFacadesStorage;
use IlluminateSupportServiceProvider;
use LeagueFlysystemFilesystem;
use SpatieDropboxClient as DropboxClient;
use SpatieFlysystemDropboxDropboxAdapter;
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));
});
}
}
Rekisteröityä palveluntarjoajan DropboxServiceProvider
on providers
joukko config/app.php
tiedoston.
'providers' => [
// ...
AppProvidersDropboxServiceProvider::class,
];
Tämän jälkeen lisää dropbox-ohjain tiedostojärjestelmän levyille. Avaa config/filesystems.php
tiedosto ja lisää dropbox-elementti disks
taulukkoon.
'disks' => [
...
...
'dropbox' => [
'driver' => 'dropbox',
'authorization_token' => env('DROPBOX_AUTH_TOKEN'),
],
],
Tässä saan vakion DROPBOX_AUTH_TOKEN arvon env()
menetelmällä. Se tarkoittaa, että meidän pitäisi lisätä tämä vakio .env
tiedostoon.
.env
...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE
Asenna ja määritä Laravel Backup Library
Toistaiseksi olemme lisänneet Dropbox-sovittimen Laravel-sovellukseen. Asenna nyt spatie / laravel-backup- kirjasto, jonka avulla voimme lähettää varmuuskopion eri pilvipalveluista, mukaan lukien Dropbox. Suorita alla oleva komento asennusta varten.
composer require spatie/laravel-backup
Kun kirjasto on asennettu, julkaise config/backup.php
määritystiedosto komennolla:
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"
Tämän jälkeen avaa config/backup.php
ja lisää pudotuslaatikko levyihin.
<?php
return [
.......
.......
'destination' => [
......
......
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
'dropbox',
],
......
......
Vaihtoehtoisesti voit myös määrittää sähköpostiosoitteesi, johon varmuuskopiotilasta lähetetään ilmoitus. Löydät tämän vaihtoehdon mail
joukko config/backup.php
tiedoston.
Varmuuskopioi Laravel-sovellus Dropboxissa
Olemme suorittaneet kaikki perusasetukset, jotka tarvitaan Laravel-sovelluksen varmuuskopioimiseksi Dropboxiin. Mene terminaaliin ja ammu alla oleva komento:
php artisan backup:run
Yllä oleva komento luo Laravel-kansion Dropbox-tilillesi ja tallentaa varmuuskopio-zip sen sisälle. Tämä varmuuskopiointi sisältää Laravel-sovellustiedostot, kansiot ja tietokannan.
Tämä on Laravel-varmuuskopion tekeminen manuaalisesti. Käyttäjä voi myös ajoittaa varmuuskopiointitehtävän. Tämän, lisää alla koodin schedule
menetelmää app/Console/Kernel.php
tiedoston.
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run')->daily()->at('06:00');
}
Täällä aikataulun päivittäisen varmuuskopioinnin klo 06:00. Käyttäjä voi muuttaa tätä aikaa vaatimustensa mukaisesti.
Toivon, että sait tietää varmuuskopion tallentamisesta Laravel-sovelluksesta Dropboxiin. Haluaisin kuulla ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.