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-dropboxTeegi installimisel looge teenusepakkuja, DropboxServiceProviderkasutades allolevat käsku.
php artisan make:provider DropboxServiceProviderJärgmiseks määrake kohandatud juht dropboxon bootmeetod 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 DropboxServiceProvideron providersmassiiv config/app.phpfaili.
'providers' => [
// ...
AppProvidersDropboxServiceProvider::class,
];Pärast seda lisage failisüsteemi ketastele draiver ’dropbox’. Avage config/filesystems.phpfail ja lisage disksmassiivile 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 .envfaili lisama .
.env
...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERELaraveli 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-backupKui teek on installitud, avaldage konfiguratsioonifail config/backup.phpkäsuga:
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"Pärast seda avage config/backup.phpmassiivile ‘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 mailfailimassiivist 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 schedulemeetod app/Console/Kernel.phpfaili.
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.


