Como fazer backup do aplicativo Laravel
Quer fazer ou agendar um backup do aplicativo Laravel? Manter o backup do banco de dados e do sistema de arquivos do Laravel sempre é uma boa ideia. Você deve ter seu backup pronto a qualquer momento se algo der errado com seu servidor ou aplicativo. Neste artigo, estudamos como fazer backup do aplicativo Laravel com o banco de dados.
Se você estiver executando um site WordPress, existem plug-ins como o Updraftplus, que nos permite armazenar backups no servidor ou na nuvem. Mas quando se trata do Laravel, não existe um conceito como um plugin. No Laravel, precisamos instalar as bibliotecas e configurá-las.
Spatie desenvolveu um pacote chamado laravel-backup que é útil para armazenar backups do Laravel. Este pacote também oferece uma opção que pode agendar seu processo de backup.
Dito isso, vamos dar uma olhada em como fazer backup do aplicativo Laravel com o banco de dados.
Começando
A última versão deste pacote requer PHP 7.2 ou superior com o módulo ZIP e Laravel 5.7 ou superior. Se você está usando a versão antiga do Laravel, então a versão 5 e a versão 4 deste pacote estão disponíveis.
Para este tutorial, estamos usando a versão mais recente desta biblioteca. Primeiramente, você precisa instalar o pacote executando o comando abaixo:
composer require spatie/laravel-backup
Depois de instalar o pacote, execute o próximo comando abaixo, que publicará o arquivo de configuração config/backup.php
.
php artisan vendor:publish --provider="SpatieBackupBackupServiceProvider"
Vá para o diretório de configuração e abra o backup.php
no editor.
<?php
return [
.......
'source' => [
'files' => [
/*
* The list of directories and files that will be included in the backup.
*/
'include' => [
base_path(),
],
/*
* These directories and files will be excluded from the backup.
*
* Directories used by the backup process will automatically be excluded.
*/
'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],
/*
* Determines if symlinks should be followed.
*/
'followLinks' => false,
],
.......
'destination' => [
/*
* The filename prefix used for the backup zip file.
*/
'filename_prefix' => 'GIVE_PREFIX_HERE',
/*
* The disk names on which the backups will be stored.
*/
'disks' => [
'local',
],
],
],
......
/*
* Here you can specify the notifiable to which the notifications should be sent. The default
* notifiable will use the variables specified in this config file.
*/
'notifiable' => SpatieBackupNotificationsNotifiable::class,
'mail' => [
'to' => 'YOUR_EMAIL_ADDRESS',
],
......
Neste arquivo, você precisa substituir 2 marcadores GIVE_PREFIX_HERE e YOUR_EMAIL_ADDRESS. Para GIVE_PREFIX_HERE você pode dar qualquer prefixo como o nome do projeto. Este é apenas um nome de prefixo para o arquivo zip de backup.
Um usuário também pode incluir e excluir os diretórios para backup. Para o include, passamos o valor base_path() e para os valores da opção de exclusão são base_path (‘vendor’), base_path (‘node_modules’). Isso significa não incluir as pastas vendor e nod_modules no backup final.
Também estamos passando um valor de disco como ‘local’. Fazendo isso, nosso backup será armazenado na storage/app/Laravel
pasta. Também podemos armazenar nossos backups em armazenamento externo, como s3, Rackspace, SFTP, etc. Essas configurações de armazenamento externo requerem alguns passos adicionais para configurar com o sistema de arquivos Laravel. Abordaremos mais sobre isso em outro artigo futuro. Se você está procurando por armazenamento externo, por favor, leia a documentação do Laravel.
Backup do aplicativo Laravel
Até agora, concluímos a instalação e configuração. Agora estamos todos prontos para executar nosso primeiro backup. Abra o terminal no diretório raiz do seu projeto e execute o comando:
php artisan backup:run
O comando acima criaria um backup do aplicativo Laravel. Você encontrará o zip do backup na pasta storage/app/Laravel
. O zip de backup contém seus arquivos de aplicativo, pastas e armazenamento de banco de dados nele.
Esta biblioteca também nos permite agendar um processo de backup. Podemos automatizar nossa tarefa de backup. Para isso, você deve escrever o código abaixo no app/Console/Kernel.php
arquivo.
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run')->daily()->at('06:00');
}
Definimos backup diário às 06:00. O usuário pode alterar este tempo de acordo com sua necessidade.
É isso! É tudo uma questão de fazer um backup do aplicativo Laravel. É altamente recomendável fazer backups regularmente e manter seu aplicativo protegido de quaisquer circunstâncias prejudiciais.
Artigos relacionados
- Como fazer backup do aplicativo Laravel e armazená-lo no Amazon S3
- Enviando e-mail via servidor SMTP do Gmail no Laravel
- Como instalar e usar o CKEditor no Laravel