{"id":27643,"date":"2021-05-12T14:00:00","date_gmt":"2021-05-12T11:00:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27643"},"modified":"2021-10-17T17:12:40","modified_gmt":"2021-10-17T14:12:40","slug":"como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel\/","title":{"rendered":"C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel"},"content":{"rendered":"<p>\u00bfQuieres realizar o programar una copia de seguridad de la aplicaci\u00f3n Laravel? Mantener la copia de seguridad de la base de datos y el sistema de archivos de Laravel siempre es una buena idea. Debe tener su copia de seguridad lista en cualquier momento si algo sale mal con su servidor o aplicaci\u00f3n. En este art\u00edculo, estudiamos c\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel con la base de datos.<\/p>\n<p>Si est\u00e1 ejecutando un sitio web de WordPress, existen complementos como <a href=\"https:\/\/updraftplus.com\/?afref=464\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Updraftplus<\/a> que nos permiten almacenar copias de seguridad en el servidor o en la nube. Pero cuando se trata de Laravel, no existe un concepto como un complemento. En Laravel, necesitamos instalar bibliotecas y configurarlo.<\/p>\n<p><a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Spatie<\/a> ha desarrollado un paquete llamado laravel-backup que es \u00fatil para almacenar copias de seguridad de Laravel. Este paquete tambi\u00e9n proporciona una opci\u00f3n que puede programar su proceso de copia de seguridad.<\/p>\n<p>Dicho esto, echemos un vistazo a c\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel con la base de datos.<\/p>\n<h3>Empezando<\/h3>\n<p>La \u00faltima versi\u00f3n de este paquete requiere PHP 7.2 o superior con el <a href=\"https:\/\/www.php.net\/manual\/en\/book.zip.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">m\u00f3dulo ZIP<\/a> y Laravel 5.7 o superior. Si est\u00e1 utilizando la versi\u00f3n anterior de Laravel, la <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v5\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">versi\u00f3n 5<\/a> y la <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v4\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">versi\u00f3n 4<\/a> de este paquete est\u00e1n disponibles.<\/p>\n<p>Para este tutorial, usamos la <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v6\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00faltima versi\u00f3n<\/a> de esta biblioteca. Al principio, debe instalar el paquete ejecutando el siguiente comando:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Una vez que haya instalado el paquete, 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>Dir\u00edgete a tu directorio de configuraci\u00f3n y abre el <code>backup.php<\/code>en el editor.<\/p>\n<pre><code>&lt;?php\n\u00a0\nreturn [\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.......\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'source' =&gt; [\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'files' =&gt; [\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* The list of directories and files that will be included in the backup.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'include' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base_path(),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* These directories and files will be excluded from the backup.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* Directories used by the backup process will automatically be excluded.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'exclude' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base_path('vendor'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0base_path('node_modules'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* Determines if symlinks should be followed.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'followLinks' =&gt; false,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.......\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'destination' =&gt; [\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* The filename prefix used for the backup zip file.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'filename_prefix' =&gt; 'GIVE_PREFIX_HERE',\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* The disk names on which the backups will be stored.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'disks' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'local',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\n\u00a0\u00a0\u00a0\u00a0......\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* Here you can specify the notifiable to which the notifications should be sent. The default\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0* notifiable will use the variables specified in this config file.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'notifiable' =&gt; SpatieBackupNotificationsNotifiable::class,\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'mail' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'to' =&gt; 'YOUR_EMAIL_ADDRESS',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\n\u00a0\u00a0\u00a0\u00a0......\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/pre>\n<p>En este archivo, debe reemplazar 2 marcadores de posici\u00f3n GIVE_PREFIX_HERE y YOUR_EMAIL_ADDRESS. Para GIVE_PREFIX_HERE puede dar cualquier prefijo como el nombre de su proyecto. Este es solo un nombre de prefijo para el archivo zip de la copia de seguridad.<\/p>\n<p>Un usuario tambi\u00e9n puede incluir y excluir los directorios para la copia de seguridad. Para la inclusi\u00f3n hemos pasado el valor base_path() y para la opci\u00f3n de exclusi\u00f3n los valores son base_path (&#8216;proveedor&#8217;), base_path (&#8216;node_modules&#8217;). Significa no incluir las carpetas de proveedor y nod_modules en la copia de seguridad final.<\/p>\n<p>Tambi\u00e9n estamos pasando un valor de disco como &#8216;local&#8217;. Al hacerlo, nuestra copia de seguridad se almacenar\u00e1 en la <code>storage\/app\/Laravel<\/code>carpeta. Tambi\u00e9n podemos almacenar nuestras copias de seguridad en un almacenamiento externo como s3, Rackspace, SFTP, etc. Estas configuraciones de almacenamiento externo requieren algunos pasos adicionales para configurar con el sistema de archivos Laravel. Cubriremos m\u00e1s sobre esto en otro art\u00edculo futuro. Si est\u00e1 buscando almacenamiento externo, lea la <a href=\"https:\/\/laravel.com\/docs\/5.8\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentaci\u00f3n de Laravel<\/a>.<\/p>\n<h3>Copia de seguridad de la aplicaci\u00f3n Laravel<\/h3>\n<p>Hasta ahora hemos terminado con la instalaci\u00f3n y configuraci\u00f3n. Ahora todos estamos listos para ejecutar 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 crear\u00eda una copia de seguridad de la aplicaci\u00f3n Laravel. Encontrar\u00e1 el zip de la copia de seguridad en la carpeta <code>storage\/app\/Laravel<\/code>. El zip de copia de seguridad contiene los archivos de la aplicaci\u00f3n, las carpetas y el almac\u00e9n de la base de datos.<\/p>\n<p>Esta biblioteca tambi\u00e9n nos permite programar un proceso de respaldo. Podemos automatizar nuestra tarea de copia de seguridad. Para esto, debe escribir el siguiente c\u00f3digo en el <code>app\/Console\/Kernel.php<\/code>archivo.<\/p>\n<pre><code>protected 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>Configuramos la copia de seguridad diaria a las 06:00. El usuario puede cambiar este tiempo seg\u00fan sus necesidades.<\/p>\n<p>\u00a1Eso es! Se trata de realizar una copia de seguridad de la aplicaci\u00f3n Laravel. Recomendamos encarecidamente realizar copias de seguridad con regularidad y mantener su aplicaci\u00f3n a salvo de cualquier circunstancia da\u00f1ina.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-realizar-una-copia-de-seguridad-de-la-aplicacion-laravel-y-almacenarla-en-amazon-s3\/\" title=\"C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel y almacenarla en Amazon S3\">C\u00f3mo realizar una copia de seguridad de la aplicaci\u00f3n Laravel y almacenarla en Amazon S3<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/envio-de-correo-electronico-a-traves-del-servidor-smtp-de-gmail-en-laravel\/\" title=\"Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel\">Env\u00edo de correo electr\u00f3nico a trav\u00e9s del servidor SMTP de Gmail en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-instalar-y-usar-ckeditor-en-laravel\/\" title=\"C\u00f3mo instalar y usar CKEditor en Laravel\">C\u00f3mo instalar y usar CKEditor en Laravel<\/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>En este art\u00edculo, discutimos una soluci\u00f3n que realiza una copia de seguridad de la aplicaci\u00f3n Laravel con la base de datos. Despu\u00e9s de instalar y configurar el paquete, podemos realizar una copia de seguridad ejecutando el comando. Tambi\u00e9n podemos programar nuestra copia de seguridad.<\/p>\n","protected":false},"author":1,"featured_media":21761,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[495],"tags":[849],"class_list":["post-27643","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\/27643","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=27643"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27643\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}