{"id":26313,"date":"2021-06-19T15:56:00","date_gmt":"2021-06-19T12:56:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26313"},"modified":"2021-10-18T02:59:33","modified_gmt":"2021-10-17T23:59:33","slug":"come-eseguire-il-backup-dell-applicazione-laravel-e-archiviarla-su-amazon-s3","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-eseguire-il-backup-dell-applicazione-laravel-e-archiviarla-su-amazon-s3\/","title":{"rendered":"Come eseguire il backup dell&#8217;applicazione Laravel e archiviarla su Amazon S3"},"content":{"rendered":"<p>In passato, ho pubblicato un articolo che <a href=\"https:\/\/themewp.inform.click\/it\/come-eseguire-il-backup-dell-applicazione-laravel\/\" title=\"memorizza il backup di Laravel localmente\" >memorizza il backup di Laravel localmente<\/a> sul server. Sebbene in quell&#8217;articolo abbiamo discusso dell&#8217;archiviazione di un backup sul server di hosting, non \u00e8 consigliabile un metodo di archiviazione. L&#8217;opzione pi\u00f9 sicura per archiviare il backup \u00e8 sul cloud. Pu\u00f2 succedere che il tuo server si arresti in modo anomalo e che tu perda l&#8217;applicazione insieme ai backup archiviati localmente. In questi scenari peggiori, se hai un backup archiviato sul cloud, puoi ripristinarlo facilmente in qualsiasi momento.<\/p>\n<p>Considerando l&#8217;importanza del backup, in questo articolo, studiamo come eseguire il backup di un&#8217;applicazione Laravel e archiviarla su Amazon s3. Per raggiungere il nostro obiettivo, utilizzeremo sia <a href=\"https:\/\/laravel.com\/docs\/master\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel Filesystem<\/a> che il <a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pacchetto sviluppato da Spatie<\/a>.<\/p>\n<h3>Ottieni le tue credenziali di sicurezza AWS<\/h3>\n<p>Per iniziare, dovresti prima avere un account su <a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Amazon S3<\/a>. Dopo aver creato l&#8217;account assicurati di aver attivato il servizio S3 seguendo il processo di verifica AWS.<\/p>\n<p>Dopo aver attivato il servizio S3, ottieni le tue credenziali di sicurezza che ci serviranno tra qualche istante. Lo otterrai facendo clic sul collegamento &quot;Le mie credenziali di sicurezza&quot;.<\/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=\"Come eseguire il backup dell&#039;applicazione Laravel e archiviarla su Amazon S3\" ><\/a><\/p>\n<h3>Configura il driver S3 in Laravel<\/h3>\n<p>Vai al tuo editor di codice e apri il file <code>config\/filesystems.php<\/code>. In questo file, puoi vedere che i dettagli di S3 sono impostati utilizzando il <code>env()<\/code>metodo. Significa che devi impostare le tue credenziali S3 nel <code>.env<\/code>file.<\/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>Apri il <code>.env<\/code>file e aggiungi le credenziali AWS S3. Non \u00e8 necessario impostare il valore AWS_URL poich\u00e9 \u00e8 facoltativo.<\/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>Prima di utilizzare S3, sar\u00e0 necessario installare il pacchetto appropriato tramite Composer:<\/p>\n<pre><code>composer require league\/flysystem-aws-s3-v3 ~1.0<\/code><\/pre>\n<h3>Installa e configura la libreria di Spatie<\/h3>\n<p>Prima di installare la libreria di Spatie assicurati che il tuo sistema soddisfi i requisiti del pacchetto. Maggiori informazioni a riguardo nella loro pagina <a href=\"https:\/\/spatie.be\/docs\/laravel-backup\/v7\/requirements\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Requisiti<\/a>.<\/p>\n<p>Se stai usando una versione precedente di Laravel, controlla una delle versioni precedenti di questo pacchetto su <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>Installiamo il pacchetto eseguendo il comando seguente:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Una volta installata la libreria, esegui il comando successivo di seguito che pubblicher\u00e0 il file di configurazione in <code>config\/backup.php<\/code>.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Apri il <code>config\/backup.php<\/code>file e imposta il nome dei &quot;dischi&quot; come &quot;s3&quot;. In questo modo, stiamo dicendo a questo pacchetto di archiviare il backup di Laravel nel bucket 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>Ci sono anche altre configurazioni disponibili in questo file. Un utente pu\u00f2 includere ed escludere le directory per il backup. Per l&#8217;inclusione il valore \u00e8 <code>base_path()<\/code>e per l&#8217;opzione di esclusione i valori sono <code>base_path('vendor'), base_path(\u2018node_modules\u2019)<\/code>. Significa non includere <code>vendor<\/code>e <code>nod_modules<\/code>cartelle nel backup finale.<\/p>\n<h3>Archivia il backup dell&#8217;applicazione Laravel su Amazon S3<\/h3>\n<p>Abbiamo finito con tutte le configurazioni di base necessarie per archiviare il backup di Laravel su Amazon S3. Ora possiamo archiviare il nostro primo backup. Apri il terminale nella directory principale del tuo progetto ed esegui il comando:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>Il comando precedente eseguir\u00e0 il backup della tua applicazione Laravel su AWS. Troverai lo zip del backup nel tuo bucket S3. Lo zip di backup contiene i file, le cartelle e l&#8217;archivio del database dell&#8217;applicazione.<\/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=\"Come eseguire il backup dell&#039;applicazione Laravel e archiviarla su Amazon S3\" ><\/a><\/p>\n<p>Questa libreria consente anche di pianificare un processo di backup. Puoi automatizzare la tua attivit\u00e0 di backup. Per questo, aggiungi il codice seguente nel <code>app\/Console\/Kernel.php<\/code>file.<\/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>Qui ho impostato il backup giornaliero alle 06:00. L&#8217;utente pu\u00f2 modificare questa volta in base alle proprie esigenze.<\/p>\n<p>Spero che tu capisca come eseguire un backup dell&#8217;applicazione Laravel e archiviarlo su Amazon S3. Mi piacerebbe sentire i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-caricare-file-su-s3-utilizzando-laravel-filesystem\/\" title=\"Come caricare file su S3 utilizzando Laravel Filesystem\">Come caricare file su S3 utilizzando Laravel Filesystem<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/carica-file-su-amazon-s3-utilizzando-aws-php-sdk\/\" title=\"Carica file su Amazon S3 utilizzando AWS PHP SDK\">Carica file su Amazon S3 utilizzando AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/backup-dell-applicazione-laravel-su-dropbox\/\" title=\"Backup dell&#039;applicazione Laravel su Dropbox\">Backup dell&#8217;applicazione Laravel su Dropbox<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si consiglia vivamente di eseguire il backup dell&#8217;applicazione Laravel. In questo articolo, studiamo come eseguire il backup di Laravel e archiviarlo su 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":[500],"tags":[846],"class_list":["post-26313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/26313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=26313"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/26313\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/20153"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=26313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=26313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=26313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}