{"id":28775,"date":"2021-06-19T15:44:00","date_gmt":"2021-06-19T12:44:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28775"},"modified":"2021-10-18T03:58:37","modified_gmt":"2021-10-18T00:58:37","slug":"como-fazer-backup-do-aplicativo-laravel-e-armazena-lo-no-amazon-s3","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-fazer-backup-do-aplicativo-laravel-e-armazena-lo-no-amazon-s3\/","title":{"rendered":"Como fazer backup do aplicativo Laravel e armazen\u00e1-lo no Amazon S3"},"content":{"rendered":"<p>J\u00e1 publiquei um artigo <a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-fazer-backup-do-aplicativo-laravel\/\" title=\"armazenando o backup do Laravel localmente\" >armazenando o backup do Laravel localmente<\/a> no servidor. Embora nesse artigo tenhamos discutido o armazenamento de um backup no servidor de hospedagem, n\u00e3o \u00e9 uma forma de armazenamento recomendada. A op\u00e7\u00e3o mais segura de armazenamento de backup est\u00e1 na nuvem. Pode acontecer que seu servidor trave e voc\u00ea perca o aplicativo junto com os backups armazenados localmente. Nesses piores cen\u00e1rios, se voc\u00ea tiver um backup armazenado na nuvem, poder\u00e1 revert\u00ea-lo facilmente a qualquer momento.<\/p>\n<p>Considerando a import\u00e2ncia do backup, neste artigo, estudamos como fazer backup de um aplicativo Laravel e armazen\u00e1-lo no Amazon s3. Para atingir nosso objetivo, usaremos o <a href=\"https:\/\/laravel.com\/docs\/master\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Filesystem<\/a> e o <a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pacote desenvolvido por Spatie<\/a>.<\/p>\n<h3>Obtenha suas credenciais de seguran\u00e7a da AWS<\/h3>\n<p>Para come\u00e7ar, voc\u00ea deve primeiro ter uma conta no <a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Amazon S3<\/a>. Depois de criar a conta, certifique-se de ter ativado o servi\u00e7o S3 seguindo o processo de verifica\u00e7\u00e3o da AWS.<\/p>\n<p>Ap\u00f3s ativar o servi\u00e7o S3, obtenha suas credenciais de seguran\u00e7a de que precisaremos em alguns instantes. Voc\u00ea o obter\u00e1 clicando no link &#8216;Minhas credenciais de seguran\u00e7a&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20152-6081c4c85b1f4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20152-6081c4c85b1f4.png\" alt=\"Como fazer backup do aplicativo Laravel e armazen\u00e1-lo no Amazon S3\" ><\/a><\/p>\n<h3>Configurar o driver S3 no Laravel<\/h3>\n<p>V\u00e1 at\u00e9 o seu editor de c\u00f3digo e abra o arquivo <code>config\/filesystems.php<\/code>. Neste arquivo, voc\u00ea pode ver que os detalhes do S3 s\u00e3o definidos usando o <code>env()<\/code>m\u00e9todo. Isso significa que voc\u00ea precisa definir suas credenciais S3 no <code>.env<\/code>arquivo.<\/p>\n<p><strong>config \/ filesystems.php<\/strong><\/p>\n<pre><code>&lt;?php\nreturn [\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0.....\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0'disks' =&gt; [\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.....\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0's3' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'driver' =&gt; 's3',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'key' =&gt; env('AWS_ACCESS_KEY_ID'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; env('AWS_SECRET_ACCESS_KEY'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'region' =&gt; env('AWS_DEFAULT_REGION'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'bucket' =&gt; env('AWS_BUCKET'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'url' =&gt; env('AWS_URL'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'endpoint' =&gt; env('AWS_ENDPOINT'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0...\n];<\/code><\/pre>\n<p>Abra seu <code>.env<\/code>arquivo e adicione as credenciais do AWS S3 a ele. N\u00e3o h\u00e1 necessidade de definir o valor AWS_URL, pois \u00e9 opcional.<\/p>\n<p><strong>.env<\/strong><\/p>\n<pre><code>AWS_ACCESS_KEY_ID=\nAWS_SECRET_ACCESS_KEY=\nAWS_DEFAULT_REGION=\nAWS_BUCKET=<\/code><\/pre>\n<p>Antes de usar o S3, voc\u00ea precisar\u00e1 instalar o pacote apropriado por meio do Composer:<\/p>\n<pre><code>composer require league\/flysystem-aws-s3-v3 ~1.0<\/code><\/pre>\n<h3>Instalar e configurar a biblioteca de Spatie<\/h3>\n<p>Antes de instalar a biblioteca de Spatie, certifique-se de que seu sistema atenda aos requisitos do pacote. Leia mais sobre isso na p\u00e1gina de <a href=\"https:\/\/spatie.be\/docs\/laravel-backup\/v7\/requirements\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">requisitos<\/a>.<\/p>\n<p>Se voc\u00ea estiver usando uma vers\u00e3o mais antiga do Laravel, verifique uma das vers\u00f5es anteriores deste pacote em <a href=\"https:\/\/spatie.be\/docs\/laravel-backup\/v6\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v6<\/a>, <a href=\"https:\/\/spatie.be\/docs\/laravel-backup\/v5\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v5<\/a>, <a href=\"https:\/\/spatie.be\/docs\/laravel-backup\/v4\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v4<\/a>.<\/p>\n<p>Vamos instalar o pacote executando o comando abaixo:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Assim que a biblioteca estiver instalada, execute o pr\u00f3ximo comando abaixo, que publicar\u00e1 o arquivo de configura\u00e7\u00e3o <code>config\/backup.php<\/code>.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Abra o <code>config\/backup.php<\/code>arquivo e defina o nome dos &#8216;discos&#8217; como &#8216;s3&#8217;. Fazendo isso, estamos dizendo a este pacote para armazenar o backup do Laravel no bucket do Amazon S3.<\/p>\n<pre><code>&lt;?php\n...\n...\n\/*\n* The disk names on which the backups will be stored.\n*\/\n'disks' =&gt; [\n\u00a0\u00a0\u00a0\u00a0's3',\n],<\/code><\/pre>\n<p>Existem outras configura\u00e7\u00f5es tamb\u00e9m dispon\u00edveis neste arquivo. Um usu\u00e1rio pode incluir e excluir os diret\u00f3rios para backup. Para incluir o valor \u00e9 <code>base_path()<\/code>e para excluir os valores da op\u00e7\u00e3o s\u00e3o <code>base_path('vendor'), base_path(\u2018node_modules\u2019)<\/code>. Isso significa n\u00e3o incluir pastas <code>vendor<\/code>e <code>nod_modules<\/code>no backup final.<\/p>\n<h3>Armazene o backup do aplicativo Laravel no Amazon S3<\/h3>\n<p>Conclu\u00edmos todas as configura\u00e7\u00f5es b\u00e1sicas necess\u00e1rias para armazenar o backup do Laravel no Amazon S3. Agora podemos armazenar nosso primeiro backup. Abra o terminal no diret\u00f3rio raiz do seu projeto e execute o comando:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>O comando acima far\u00e1 o backup de seu aplicativo Laravel na AWS. Voc\u00ea encontrar\u00e1 o zip do backup em seu balde S3. O zip de backup cont\u00e9m seus arquivos de aplicativo, pastas e armazenamento de banco de dados nele.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20152-6081c4c85b1f4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20152-6081c4c85b1f4.png\" alt=\"Como fazer backup do aplicativo Laravel e armazen\u00e1-lo no Amazon S3\" ><\/a><\/p>\n<p>Esta biblioteca tamb\u00e9m permite agendar um processo de backup. Voc\u00ea pode automatizar sua tarefa de backup. Para isso, adicione o c\u00f3digo abaixo no <code>app\/Console\/Kernel.php<\/code>arquivo.<\/p>\n<pre><code>&lt;?php\n...\n...\nprotected function schedule(Schedule $schedule)\n{\n\u00a0\u00a0\u00a0\u00a0$schedule-&gt;command('backup:run')-&gt;daily()-&gt;at('06:00');\n}<\/code><\/pre>\n<p>Aqui, defino o backup di\u00e1rio \u00e0s 06:00. O usu\u00e1rio pode alterar este tempo de acordo com sua necessidade.<\/p>\n<p>Espero que voc\u00ea entenda como fazer um backup do aplicativo Laravel e armazen\u00e1-lo no Amazon S3. Eu gostaria de ouvir seus pensamentos e sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-fazer-upload-de-arquivo-para-s3-usando-o-sistema-de-arquivos-laravel\/\" title=\"Como fazer upload de arquivo para S3 usando o sistema de arquivos Laravel\">Como fazer upload de arquivo para S3 usando o sistema de arquivos Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/carregar-arquivos-para-o-amazon-s3-usando-aws-php-sdk\/\" title=\"Carregar arquivos para o Amazon S3 usando AWS PHP SDK\">Carregar arquivos para o Amazon S3 usando AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/faca-backup-do-aplicativo-laravel-no-dropbox\/\" title=\"Fa\u00e7a backup do aplicativo Laravel no Dropbox\">Fa\u00e7a backup do aplicativo Laravel no Dropbox<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fazer backup do aplicativo Laravel \u00e9 altamente recomendado. Neste artigo, estudamos como fazer o backup do Laravel e armazen\u00e1-lo no Amazon s3.<\/p>\n","protected":false},"author":1,"featured_media":20153,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[502],"tags":[848],"class_list":["post-28775","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/28775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=28775"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/28775\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/20153"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=28775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=28775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=28775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}