Laraveli varundusrakendus Dropboxis
Rakenduse varundamine pilves on alati soovitatav. Kunagi ei või teada, millal peate võib-olla oma saidi varukoopiast taastama. Amazon S3, Google Cloud, Dropbox jne on mõned populaarsed teenused teie rakenduse varukoopiate salvestamiseks. Selles õpetuses uurime Laraveli rakenduse varukoopiate salvestamist Dropboxi. Kui soovite seda Amazon S3- sse salvestada, lugege palun meie artiklit, milles on Laraveli varukoopia Amazon S3-s.
Dropbox pakub API-teenust, mis saab varunduse meie rakendusest Dropboxi saata. Laraveli osas peame konfigureerima Laraveli failisüsteemi ja seadma Dropboxi üheks failihoidlasse. Seejärel suhtleb ta kulisside taga Dropbox API-ga.
Dropbox API-ga suhtlemise ajal peab meil autoriseerimiseks olema Dropboxi konto juurdepääsuluba. Haarame kõigepealt Dropboxi juurdepääsuloa.
Hankige Dropboxi juurdepääsuluba
Juurdepääsuloa saamiseks looge Dropboxi rakendus. Sisselogimisel klõpsake nuppu Loo rakendus. Järgmises etapis palute teil valida API. Juurdepääsu tüübi alt valige „Rakenduse kaust” ja andke oma rakendusele nimi. Vaadake allolevat ekraanipilti.
Järgmisena lisage vahekaardilt "Luba" failide ja kaustade ulatus, et meie rakendus saaks Dropboxi kirjutada.
Lõpuks valige vahekaardilt "Seaded" juurdepääsuloa aegumise väljal "Aegumist pole" ja klõpsake nuppu "Loo", mis annab teile juurdepääsuloa.
Laraveli failisüsteemi konfigureerimine Dropboxi jaoks
Laravel pakub failisüsteemi, mis annab draiveritele kohaliku salvestusruumi, SFTP ja Amazon S3. Dropboxi lisamiseks draiverina peame seda natuke konfigureerima. See nõuab, et lisate Laraveli rakendusse Dropbox-adapteri. Seda saate teha järgides alltoodud samme.
Paigaldage spatie / flysystem-dropbox teek käsuga:
composer require spatie/flysystem-dropbox
Teegi installimisel looge teenusepakkuja, DropboxServiceProvider
kasutades allolevat käsku.
php artisan make:provider DropboxServiceProvider
Järgmiseks määrake kohandatud juht dropbox
on boot
meetod 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));
});
}
}
Registreeri teenusepakkuja DropboxServiceProvider
on providers
massiiv config/app.php
faili.
'providers' => [
// ...
AppProvidersDropboxServiceProvider::class,
];
Pärast seda lisage failisüsteemi ketastele draiver ‘dropbox’. Avage config/filesystems.php
fail ja lisage disks
massiivile element „dropbox" .
'disks' => [
...
...
'dropbox' => [
'driver' => 'dropbox',
'authorization_token' => env('DROPBOX_AUTH_TOKEN'),
],
],
Siin saan env()
meetodi abil konstantse ‘DROPBOX_AUTH_TOKEN’ väärtuse. See tähendab, et peaksime selle konstandi .env
faili lisama .
.env
...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE
Laraveli varukogu installimine ja konfigureerimine
Siiani oleme Dropboxi adapteri lisamisega Laraveli rakendusse jõudnud. Nüüd installige spatie / laravel-backup teek, mis võimaldab meil varukoopiaid saata erinevatesse pilveteenustesse, sealhulgas Dropboxi. Paigaldamiseks käivitage järgmine käsk.
composer require spatie/laravel-backup
Kui teek on installitud, avaldage konfiguratsioonifail config/backup.php
käsuga:
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"
Pärast seda avage config/backup.php
massiivile ‘kettad’ ja lisage ‘dropbox’.
<?php
return [
.......
.......
'destination' => [
......
......
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
'dropbox',
],
......
......
Soovi korral saate määrata ka oma e-posti aadressi, millele saadetakse teade varunduse oleku kohta. Selle valiku leiate mail
failimassiivist config/backup.php
.
Laraveli varundusrakendus Dropboxis
Oleme lõpetanud kõik Laraveli rakenduse Dropboxi varundamiseks vajalikud põhiseadistused. Minge terminali ja laske allpool käsk:
php artisan backup:run
Ülaltoodud käsk loob teie Dropboxi kontole kausta ‘Laravel’ ja salvestab sinna varukoopia. See varukoop sisaldab ZIP-faile, kaustu ja andmebaasi.
See on Laraveli varukoopia tegemine käsitsi. Samuti saab kasutaja varundamise ülesande ajastada. Selleks lisada allpool koodi schedule
meetod app/Console/Kernel.php
faili.
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run')->daily()->at('06:00');
}
Siin ajastan igapäevase varundamise kell 06:00. Kasutaja saab seda aega vastavalt oma nõudele muuta.
Loodan, et saite teada Laraveli rakenduse varukoopia Dropboxi salvestamise kohta. Tahaksin kuulda teie mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.