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

Faça backup do aplicativo Laravel no Dropbox

48

Armazenar o backup do aplicativo na nuvem é sempre recomendado. Você nunca sabe quando pode precisar restaurar seu site a partir do backup. Amazon S3, Google Cloud, Dropbox, etc. são alguns dos serviços populares para armazenar o backup de seu aplicativo. Neste tutorial, estudamos como armazenar o backup do aplicativo Laravel no Dropbox. Se você deseja armazená-lo no Amazon S3, consulte nosso artigo como armazenar o backup do Laravel no Amazon S3.

O Dropbox oferece um serviço API que pode enviar o backup de nosso aplicativo para o Dropbox. Quando se trata do Laravel, temos que configurar o sistema de arquivos Laravel e definir o Dropbox como um dos armazenadores de arquivos. Em seguida, ele irá interagir com a API do Dropbox nos bastidores.

Durante a interação com a API do Dropbox, precisamos ter um token de acesso da conta do Dropbox para autorização. Vamos primeiro pegar o token de acesso do Dropbox.

Obtenha o token de acesso do Dropbox

Para obter o token de acesso, crie um aplicativo Dropbox. Após o login, clique no botão ‘Criar aplicativo’. Na próxima etapa, você solicitará a escolha de uma API. No tipo de acesso, escolha ‘Pasta do aplicativo’ e dê o nome ao seu aplicativo. Consulte a imagem abaixo.

Em seguida, na guia ‘Permissão’, adicione os escopos de arquivos e pastas para que nosso aplicativo possa gravar no Dropbox.

Faça backup do aplicativo Laravel no Dropbox

Por fim, na guia ‘Configurações’, escolha ‘Sem expiração’ no campo de expiração do token de acesso e clique no botão ‘Gerar’ que lhe dará um token de acesso.

Faça backup do aplicativo Laravel no Dropbox

Configurar o sistema de arquivos Laravel para o Dropbox

O Laravel fornece um sistema de arquivos que fornece drivers para armazenamento local, SFTP e Amazon S3. Para adicionar o Dropbox como driver, precisamos configurá-lo um pouco. Requer que você adicione um adaptador Dropbox ao aplicativo Laravel. Você pode fazer isso seguindo as etapas abaixo.

Instale a biblioteca spatie / flysystem-dropbox usando o comando:

composer require spatie/flysystem-dropbox

Ao instalar a biblioteca, crie um provedor de serviços DropboxServiceProviderusando o comando abaixo.

php artisan make:provider DropboxServiceProvider

Em seguida, defina o driver personalizado dropboxno bootmétodo de 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));
        });
    }
}

Registre o provedor DropboxServiceProviderde serviços na providersmatriz do config/app.phparquivo.

'providers' => [
    // ...
    AppProvidersDropboxServiceProvider::class,
];

Depois disso, adicione o driver ‘dropbox’ aos discos do sistema de arquivos. Abra o config/filesystems.phparquivo e adicione o elemento ‘dropbox’ ao disksarray.

'disks' => [
    ...
    ...
    'dropbox' => [
        'driver' => 'dropbox',
        'authorization_token' => env('DROPBOX_AUTH_TOKEN'),
    ],
],

Aqui, estou obtendo o valor da constante ‘DROPBOX_AUTH_TOKEN’ usando o env()método. Isso significa que devemos adicionar essa constante no .envarquivo.

.env

...
...
DROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE

Instalar e configurar a biblioteca de backup do Laravel

Até agora, concluímos a adição do adaptador Dropbox ao aplicativo Laravel. Agora, instale a biblioteca spatie / laravel-backup que nos permite enviar backup nos diferentes serviços em nuvem, incluindo Dropbox. Execute o comando abaixo para instalação.

composer require spatie/laravel-backup

Assim que a biblioteca estiver instalada, publique o arquivo de configuração config/backup.phpusando o comando:

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

Depois disso, abra config/backup.phpe adicione a ‘caixa de depósito’ ao array ‘discos’.

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

Opcionalmente, você também pode definir seu endereço de e-mail para o qual uma notificação será enviada sobre o status do backup. Você encontrará esta opção na mailmatriz do config/backup.phparquivo.

Faça backup do aplicativo Laravel no Dropbox

Concluímos todas as configurações básicas necessárias para fazer o backup do aplicativo Laravel no Dropbox. Vá até o terminal e atire no comando abaixo:

php artisan backup:run

O comando acima irá criar uma pasta ‘Laravel’ para sua conta do Dropbox e armazenar o zip de backup dentro dela. Este zip de backup contém os arquivos, pastas e banco de dados do aplicativo Laravel.

Faça backup do aplicativo Laravel no Dropbox

Este é o processo manual de fazer um backup do Laravel. O usuário também pode agendar a tarefa de backup. Para isso, adicione o código abaixo ao schedulemétodo de app/Console/Kernel.phparquivo.

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

Aqui, agendo o backup diário para as 6h. O usuário pode alterar este tempo de acordo com sua necessidade.

Espero que você saiba como armazenar um backup do aplicativo Laravel no Dropbox. 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