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-dropboxKun asennat kirjaston, luo palveluntarjoaja DropboxServiceProvideralla olevalla komennolla.
php artisan make:provider DropboxServiceProviderSeuraavaksi määritellään mukautetun ajurin dropboxettä bootmenetelmä 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 DropboxServiceProvideron providersjoukko config/app.phptiedoston.
'providers' => [
// ...
AppProvidersDropboxServiceProvider::class,
];Tämän jälkeen lisää dropbox-ohjain tiedostojärjestelmän levyille. Avaa config/filesystems.phptiedosto ja lisää dropbox-elementti diskstaulukkoon.
'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 .envtiedostoon.
.env
...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HEREAsenna 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-backupKun kirjasto on asennettu, julkaise config/backup.phpmääritystiedosto komennolla:
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"Tämän jälkeen avaa config/backup.phpja 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 mailjoukko config/backup.phptiedoston.
Varmuuskopioi Laravel-sovellus Dropboxissa
Olemme suorittaneet kaikki perusasetukset, jotka tarvitaan Laravel-sovelluksen varmuuskopioimiseksi Dropboxiin. Mene terminaaliin ja ammu alla oleva komento:
php artisan backup:runYllä 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 schedulemenetelmää app/Console/Kernel.phptiedoston.
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.


