✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Laraveli rakenduse varundamine ja selle salvestamine Amazon S3-sse

18

Varem olen avaldanud artikli, kus Laraveli varukoopia salvestatakse lokaalselt serverisse. Kuigi selles artiklis käsitlesime varukoopiate salvestamist hostiserverisse, pole see salvestamise viis soovitatav. Turvalisem variant varukoopiate salvestamiseks on pilves. Võib juhtuda, et teie server kukub kokku ja kaotate rakenduse koos kohapeal salvestatud varukoopiatega. Nendes halvimates stsenaariumides saate pilves varundatud varukoopia igal ajal hõlpsalt ennistada.

Arvestades varundamise tähtsust, uurime selles artiklis, kuidas Laraveli rakendust varundada ja selle Amazon s3-sse salvestada. Eesmärgi saavutamiseks kasutame nii Laraveli failisüsteemi kui ka Spatie välja töötatud paketti.

Hankige oma AWS-i turvamandaadid

Alustamiseks peaks teil kõigepealt olema konto Amazon S3-s. Pärast konto loomist veenduge, et olete A3 teenuse aktiveerinud, järgides AWS-i kinnitamise protsessi.

Pärast S3-teenuse aktiveerimist hankige oma turvamandaadid, mida me mõne hetke pärast vajame. Selle saate klõpsates lingil „Minu turvakrediidid".

Laraveli rakenduse varundamine ja selle salvestamine Amazon S3-sse

Konfigureerige S3 draiver Laravelis

Minge oma koodiredaktorisse ja avage fail config/filesystems.php. Selles failis näete, et S3 üksikasjad on määratud env()meetodi abil. See tähendab, et peate oma S3 mandaadi .envfailis määrama .

config / filesystems.php

<?php
return [
  
    .....
  
    'disks' => [
  
        .....
  
        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],
    ...
    ...
];

Avage oma .envfail ja lisage sellele AWS S3 mandaat. AWS_URL-väärtust pole vaja määrata, kuna see on valikuline.

.env

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

Enne S3 kasutamist peate Composeri kaudu installima sobiva paketi:

composer require league/flysystem-aws-s3-v3 ~1.0

Spatie raamatukogu installimine ja konfigureerimine

Enne Spatie teegi installimist veenduge, et teie süsteem vastab paketi nõuetele. Lisateavet leiate nende lehelt Nõuded.

Kui kasutate Laraveli vanemat versiooni, vaadake selle paketi ühte eelmist versiooni aadressidel v6, v5, v4.

Installime paketi, käivitades alloleva käsu:

composer require spatie/laravel-backup

Kui teek on installitud, käivitage järgmine käsk allpool, mis avaldab konfiguratsioonifaili config/backup.php.

php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"

Avage config/backup.phpfail ja määrake ‘ketaste’ nimeks ‘s3’. Seda tehes käskime sellel paketil hoida Lavareli varukoopia Amazon S3 ämbris.

<?php
...
...
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
    's3',
],

Selles failis on saadaval ka teisi konfiguratsioone. Kasutaja saab katalooge varundamiseks lisada ja välja jätta. Kaasamise jaoks on väärtus base_path()ja välistamiseks valiku väärtus on base_path('vendor'), base_path(‘node_modules’). See tähendab, et ärge lisage lõplikku varukoopia vendorega nod_moduleskaustu.

Salvestage Laraveli rakenduse varukoopia Amazon S3-le

Oleme teinud kõik põhilised konfiguratsioonid, mis on vajalikud Lavareli varunduse salvestamiseks Amazon S3-s. Nüüd saame oma esimese varukoopia salvestada. Avage terminal oma projekti juurkataloogis ja käivitage käsk:

php artisan backup:run

Ülaltoodud käsk varundab teie Laraveli rakenduse AWS-i. Varukoopia zip leiate oma S3 ämbrist. Varukoop sisaldab ZIP-faile, kaustu ja andmebaasihoidlat.

Laraveli rakenduse varundamine ja selle salvestamine Amazon S3-sse

See teek võimaldab ka varundamisprotsessi ajastamist. Saate varundusülesannet automatiseerida. Selleks lisage app/Console/Kernel.phpfaili allolev kood .

<?php
...
...
protected function schedule(Schedule $schedule)
{
    $schedule->command('backup:run')->daily()->at('06:00');
}

Siin määrasin igapäevase varundamise kell 06:00. Kasutaja saab seda aega vastavalt oma nõudele muuta.

Loodan, et saate aru, kuidas Laraveli rakendusest varukoopia teha ja Amazon S3-sse salvestada. Tahaksin kuulda teie mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem