...
✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka ottaa Laravel-sovelluksen varmuuskopiointi ja tallentaa se Amazon S3: een

24

Aiemmin olen julkaissut artikkelin, joka tallentaa Laravel-varmuuskopion paikallisesti palvelimelle. Vaikka tässä artikkelissa keskustelimme varmuuskopion tallentamisesta isäntäpalvelimelle, sitä ei suositella tallennustapaksi. Turvallisempi vaihtoehto varmuuskopion tallentamiseksi on pilvessä. Se voi tapahtua, että palvelimesi kaatuu ja menetät sovelluksen yhdessä paikallisesti tallennettujen varmuuskopioiden kanssa. Näissä pahimmissa tilanteissa, jos sinulla on varmuuskopio tallennettu pilveen, voit palauttaa sen helposti milloin tahansa.

Kun otetaan huomioon varmuuskopioinnin merkitys, tutkimme tässä artikkelissa, kuinka Laravel-sovellus varmuuskopioidaan ja miten se tallennetaan Amazon s3: een. Tavoitteen saavuttamiseksi käytämme sekä Laravel Filesystemia että Spatien kehittämää pakettia.

Hanki AWS-suojaustiedot

Aloittamiseksi sinulla on ensin oltava tili Amazon S3: lla. Kun olet luonut tilin, varmista, että olet aktivoinut S3-palvelun seuraamalla AWS-vahvistusprosessia.

Kun olet aktivoinut S3-palvelun, hanki tietoturvatiedot, joita tarvitsemme hetkessä. Saat sen napsauttamalla linkkiä "My Security Credentials".

Kuinka ottaa Laravel-sovelluksen varmuuskopiointi ja tallentaa se Amazon S3: een

Määritä S3-ohjain Laravelissa

Siirry koodieditoriin ja avaa tiedosto config/filesystems.php. Tässä tiedostossa näet, että S3: n tiedot asetetaan env()menetelmällä. Se tarkoittaa, että sinun on asetettava S3-tunnuksesi .envtiedostoon.

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'),
        ],
    ...
    ...
];

Avaa .envtiedosto ja lisää siihen AWS S3 -tunnistetiedot. AWS_URL-arvoa ei tarvitse asettaa, koska se on valinnainen.

.env

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

Ennen S3: n käyttöä sinun on asennettava sopiva paketti Composerin kautta:

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

Asenna ja määritä Spatien kirjasto

Varmista ennen Spatien kirjaston asentamista, että järjestelmäsi täyttää pakettivaatimukset. Lue lisää heidän Vaatimukset- sivulta.

Jos käytät Laravelin vanhempaa versiota, tutustu johonkin tämän paketin aiemmista versioista osoitteissa v6, v5, v4.

Asennetaan paketti suorittamalla alla oleva komento:

composer require spatie/laravel-backup

Kun kirjasto on asennettu, suorita seuraava alla oleva komento, joka julkaisee määritystiedoston config/backup.php.

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

Avaa config/backup.phptiedosto ja aseta levyn nimeksi s3. Näin tekemällä käskemme tätä pakettia tallentamaan Laravel-varmuuskopio Amazon S3 -kauhaan.

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

Tässä tiedostossa on myös muita kokoonpanoja. Käyttäjä voi sisällyttää ja sulkea hakemistot varmuuskopiointia varten. Sisällytä-arvon arvo on base_path()ja poissulkemiselle -vaihtoehdon arvo on base_path('vendor'), base_path(‘node_modules’). Se tarkoittaa, että älä sisällytä vendorja nod_moduleskansioita lopulliseen varmuuskopioon.

Tallenna Laravel-sovelluksen varmuuskopio Amazon S3: een

Olemme tehneet kaikki tarvittavat perusmääritykset Laravel-varmuuskopion tallentamiseksi Amazon S3: een. Nyt voimme tallentaa ensimmäisen varmuuskopion. Avaa pääte projektin juurihakemistossa ja suorita komento:

php artisan backup:run

Yllä oleva komento varmuuskopioi Laravel-sovelluksen AWS: ään. Varmuuskopion vetoketju löytyy S3-ämpäriisi. Varmuuskopiointipakkaus sisältää sovellustiedostot, kansiot ja tietokantavarastot.

Kuinka ottaa Laravel-sovelluksen varmuuskopiointi ja tallentaa se Amazon S3: een

Tämä kirjasto sallii myös varmuuskopioinnin ajoituksen. Voit automatisoida varmuuskopiotehtävän. Lisää tätä varten seuraava koodi app/Console/Kernel.phptiedostoon.

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

Täällä asetin päivittäisen varmuuskopion klo 06:00. Käyttäjä voi muuttaa tätä aikaa vaatimustensa mukaisesti.

Toivon, että ymmärrät, kuinka voit ottaa varmuuskopion Laravel-sovelluksesta ja tallentaa sen Amazon S3: een. Haluaisin kuulla ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja