...
✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como fazer backup do aplicativo Laravel e armazená-lo no Amazon S3

32

Já publiquei um artigo armazenando o backup do Laravel localmente no servidor. Embora nesse artigo tenhamos discutido o armazenamento de um backup no servidor de hospedagem, não é uma forma de armazenamento recomendada. A opção mais segura de armazenamento de backup está na nuvem. Pode acontecer que seu servidor trave e você perca o aplicativo junto com os backups armazenados localmente. Nesses piores cenários, se você tiver um backup armazenado na nuvem, poderá revertê-lo facilmente a qualquer momento.

Considerando a importância do backup, neste artigo, estudamos como fazer backup de um aplicativo Laravel e armazená-lo no Amazon s3. Para atingir nosso objetivo, usaremos o Laravel Filesystem e o pacote desenvolvido por Spatie.

Obtenha suas credenciais de segurança da AWS

Para começar, você deve primeiro ter uma conta no Amazon S3. Depois de criar a conta, certifique-se de ter ativado o serviço S3 seguindo o processo de verificação da AWS.

Após ativar o serviço S3, obtenha suas credenciais de segurança de que precisaremos em alguns instantes. Você o obterá clicando no link ‘Minhas credenciais de segurança’.

Como fazer backup do aplicativo Laravel e armazená-lo no Amazon S3

Configurar o driver S3 no Laravel

Vá até o seu editor de código e abra o arquivo config/filesystems.php. Neste arquivo, você pode ver que os detalhes do S3 são definidos usando o env()método. Isso significa que você precisa definir suas credenciais S3 no .envarquivo.

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

Abra seu .envarquivo e adicione as credenciais do AWS S3 a ele. Não há necessidade de definir o valor AWS_URL, pois é opcional.

.env

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=

Antes de usar o S3, você precisará instalar o pacote apropriado por meio do Composer:

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

Instalar e configurar a biblioteca de Spatie

Antes de instalar a biblioteca de Spatie, certifique-se de que seu sistema atenda aos requisitos do pacote. Leia mais sobre isso na página de requisitos.

Se você estiver usando uma versão mais antiga do Laravel, verifique uma das versões anteriores deste pacote em v6, v5, v4.

Vamos instalar o pacote executando o comando abaixo:

composer require spatie/laravel-backup

Assim que a biblioteca estiver instalada, execute o próximo comando abaixo, que publicará o arquivo de configuração config/backup.php.

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

Abra o config/backup.phparquivo e defina o nome dos ‘discos’ como ‘s3’. Fazendo isso, estamos dizendo a este pacote para armazenar o backup do Laravel no bucket do Amazon S3.

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

Existem outras configurações também disponíveis neste arquivo. Um usuário pode incluir e excluir os diretórios para backup. Para incluir o valor é base_path()e para excluir os valores da opção são base_path('vendor'), base_path(‘node_modules’). Isso significa não incluir pastas vendore nod_modulesno backup final.

Armazene o backup do aplicativo Laravel no Amazon S3

Concluímos todas as configurações básicas necessárias para armazenar o backup do Laravel no Amazon S3. Agora podemos armazenar nosso primeiro backup. Abra o terminal no diretório raiz do seu projeto e execute o comando:

php artisan backup:run

O comando acima fará o backup de seu aplicativo Laravel na AWS. Você encontrará o zip do backup em seu balde S3. O zip de backup contém seus arquivos de aplicativo, pastas e armazenamento de banco de dados nele.

Como fazer backup do aplicativo Laravel e armazená-lo no Amazon S3

Esta biblioteca também permite agendar um processo de backup. Você pode automatizar sua tarefa de backup. Para isso, adicione o código abaixo no app/Console/Kernel.phparquivo.

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

Aqui, defino o backup diário às 06:00. O usuário pode alterar este tempo de acordo com sua necessidade.

Espero que você entenda como fazer um backup do aplicativo Laravel e armazená-lo no Amazon S3. Eu gostaria de ouvir seus pensamentos e sugestões na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação