{"id":29588,"date":"2021-06-19T16:23:00","date_gmt":"2021-06-19T13:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29588"},"modified":"2021-10-17T16:15:23","modified_gmt":"2021-10-17T13:15:23","slug":"como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel-y-almacenarla-en-amazon-s3","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel-y-almacenarla-en-amazon-s3\/","title":{"rendered":"C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel y almacenarla en Amazon S3"},"content":{"rendered":"<p>En el pasado, publiqu\u00e9 un art\u00edculo que <a href=\"https:\/\/themewp.inform.click\/es\/como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel\/\" title=\"almacena la copia de seguridad de Laravel localmente\" >almacena la copia de seguridad de Laravel localmente<\/a> en el servidor. Aunque en ese art\u00edculo discutimos el almacenamiento de una copia de seguridad en el servidor de alojamiento, no se recomienda una forma de almacenamiento. La opci\u00f3n m\u00e1s segura de almacenar copias de seguridad est\u00e1 en la nube. Puede suceder que su servidor se bloquee y pierda la aplicaci\u00f3n junto con las copias de seguridad almacenadas localmente. En estos peores escenarios, si tiene una copia de seguridad almacenada en la nube, puede revertirla f\u00e1cilmente en cualquier momento.<\/p>\n<p>Teniendo en cuenta la importancia de la copia de seguridad, en este art\u00edculo estudiamos c\u00f3mo hacer una copia de seguridad de una aplicaci\u00f3n Laravel y almacenarla en Amazon s3. Para lograr nuestro objetivo, usaremos tanto <a href=\"https:\/\/laravel.com\/docs\/master\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Filesystem<\/a> como el <a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">paquete desarrollado por Spatie<\/a>.<\/p>\n<h3>Obtenga sus credenciales de seguridad de AWS<\/h3>\n<p>Para comenzar, primero debe tener una cuenta en <a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Amazon S3<\/a>. Despu\u00e9s de crear la cuenta, aseg\u00farese de haber activado el servicio S3 siguiendo el proceso de verificaci\u00f3n de AWS.<\/p>\n<p>Despu\u00e9s de activar el servicio S3, obtenga sus credenciales de seguridad que necesitaremos en unos momentos. Lo obtendr\u00e1 haciendo clic en el enlace &#8216;Mis credenciales de seguridad&#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=\"C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel y almacenarla en Amazon S3\" ><\/a><\/p>\n<h3>Configurar el controlador S3 en Laravel<\/h3>\n<p>Dir\u00edgete a tu editor de c\u00f3digo y abre el archivo <code>config\/filesystems.php<\/code>. En este archivo, puede ver que los detalles de S3 se configuran mediante el <code>env()<\/code>m\u00e9todo. Significa que debe configurar sus credenciales de S3 en un <code>.env<\/code>archivo.<\/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 su <code>.env<\/code>archivo y agr\u00e9guele las credenciales de AWS S3. No es necesario establecer el valor AWS_URL, ya que es 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 el S3, deber\u00e1 instalar el paquete apropiado a trav\u00e9s de Composer:<\/p>\n<pre><code>composer require league\/flysystem-aws-s3-v3 ~1.0<\/code><\/pre>\n<h3>Instalar y configurar la biblioteca de Spatie<\/h3>\n<p>Antes de instalar la biblioteca de Spatie, aseg\u00farese de que su sistema cumpla con los requisitos del paquete. Lea m\u00e1s sobre esto en su 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>Si est\u00e1 utilizando una versi\u00f3n anterior de Laravel, consulte una de las versiones anteriores de estos paquetes en <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>Instalemos el paquete ejecutando el siguiente comando:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Una vez que la biblioteca est\u00e9 instalada, ejecute el siguiente comando a continuaci\u00f3n, que publicar\u00e1 el archivo de configuraci\u00f3n en <code>config\/backup.php<\/code>.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Abra el <code>config\/backup.php<\/code>archivo y establezca el nombre de los &#8216;discos&#8217; como &#8216;s3&#8217;. Al hacerlo, le estamos diciendo a este paquete que almacene la copia de seguridad de Laravel en el bucket de 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>Hay otras configuraciones tambi\u00e9n disponibles en este archivo. Un usuario puede incluir y excluir los directorios para la copia de seguridad. Para incluir, el valor es <code>base_path()<\/code>y para la opci\u00f3n de exclusi\u00f3n, los valores son <code>base_path('vendor'), base_path(\u2018node_modules\u2019)<\/code>. Significa no incluir carpetas <code>vendor<\/code>y <code>nod_modules<\/code>en la copia de seguridad final.<\/p>\n<h3>Almacene la copia de seguridad de la aplicaci\u00f3n Laravel en Amazon S3<\/h3>\n<p>Hemos terminado con todas las configuraciones b\u00e1sicas necesarias para almacenar la copia de seguridad de Laravel en Amazon S3. Ahora podemos almacenar nuestra primera copia de seguridad. Abra la terminal en el directorio ra\u00edz de su proyecto y ejecute el comando:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>El comando anterior har\u00e1 una copia de seguridad de su aplicaci\u00f3n Laravel en AWS. Encontrar\u00e1 el zip de la copia de seguridad en su bucket de S3. El zip de respaldo contiene los archivos de la aplicaci\u00f3n, las carpetas y el almac\u00e9n de la base de datos.<\/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=\"C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel y almacenarla en Amazon S3\" ><\/a><\/p>\n<p>Esta biblioteca tambi\u00e9n permite programar un proceso de respaldo. Puede automatizar su tarea de copia de seguridad. Para esto, agregue el siguiente c\u00f3digo en el <code>app\/Console\/Kernel.php<\/code>archivo.<\/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>Aqu\u00ed configuro la copia de seguridad diaria a las 06:00. El usuario puede cambiar este tiempo seg\u00fan sus necesidades.<\/p>\n<p>Espero que comprenda c\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel y almacenarla en Amazon S3. Me gustar\u00eda escuchar sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-cargar-un-archivo-a-s3-usando-el-sistema-de-archivos-laravel\/\" title=\"C\u00f3mo cargar un archivo a S3 usando el sistema de archivos Laravel\">C\u00f3mo cargar un archivo a S3 usando el sistema de archivos Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/cargar-archivos-en-amazon-s3-mediante-aws-php-sdk\/\" title=\"Cargar archivos en Amazon S3 mediante AWS PHP SDK\">Cargar archivos en Amazon S3 mediante AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/copia-de-seguridad-de-la-aplicacion-laravel-en-dropbox\/\" title=\"Copia de seguridad de la aplicaci\u00f3n Laravel en Dropbox\">Copia de seguridad de la aplicaci\u00f3n Laravel en Dropbox<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se recomienda encarecidamente realizar una copia de seguridad de la aplicaci\u00f3n Laravel. En este art\u00edculo, estudiamos c\u00f3mo realizar una copia de seguridad de Laravel y almacenarla en 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":[495],"tags":[849],"class_list":["post-29588","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=29588"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29588\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/20153"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=29588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=29588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=29588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}