{"id":29619,"date":"2021-06-19T15:57:00","date_gmt":"2021-06-19T12:57:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29619"},"modified":"2021-10-18T03:31:15","modified_gmt":"2021-10-18T00:31:15","slug":"jak-wykonac-kopie-zapasowa-aplikacji-laravel-i-przechowywac-ja-na-amazon-s3","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-wykonac-kopie-zapasowa-aplikacji-laravel-i-przechowywac-ja-na-amazon-s3\/","title":{"rendered":"Jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji Laravel i przechowywa\u0107 j\u0105 na Amazon S3?"},"content":{"rendered":"<p>W przesz\u0142o\u015bci publikowa\u0142em artyku\u0142 <a href=\"https:\/\/themewp.inform.click\/pl\/jak-wykonac-kopie-zapasowa-aplikacji-laravel\/\" title=\"przechowuj\u0105cy kopi\u0119 zapasow\u0105 Laravela lokalnie\" >przechowuj\u0105cy kopi\u0119 zapasow\u0105 Laravela lokalnie<\/a> na serwerze. Chocia\u017c w tym artykule om\u00f3wili\u015bmy przechowywanie kopii zapasowej na serwerze hostingowym, nie jest to zalecany spos\u00f3b przechowywania. Bezpieczniejsz\u0105 opcj\u0105 przechowywania kopii zapasowej jest chmura. Mo\u017ce si\u0119 zdarzy\u0107, \u017ce Tw\u00f3j serwer ulegnie awarii i utracisz aplikacj\u0119 wraz z lokalnie przechowywanymi kopiami zapasowymi. W tych najgorszych scenariuszach, je\u015bli masz kopi\u0119 zapasow\u0105 przechowywan\u0105 w chmurze, mo\u017cesz j\u0105 \u0142atwo przywr\u00f3ci\u0107 w dowolnym momencie.<\/p>\n<p>Bior\u0105c pod uwag\u0119 znaczenie tworzenia kopii zapasowych, w tym artykule dowiemy si\u0119, jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji Laravel i przechowywa\u0107 j\u0105 na Amazon s3. Aby osi\u0105gn\u0105\u0107 nasz cel, u\u017cyjemy zar\u00f3wno <a href=\"https:\/\/laravel.com\/docs\/master\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">systemu plik\u00f3w Laravel,<\/a> jak i <a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pakietu opracowanego przez Spatie<\/a>.<\/p>\n<h3>Uzyskaj po\u015bwiadczenia bezpiecze\u0144stwa AWS<\/h3>\n<p>Aby rozpocz\u0105\u0107, powiniene\u015b najpierw mie\u0107 konto na <a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Amazon S3<\/a>. Po utworzeniu konta upewnij si\u0119, \u017ce aktywowa\u0142e\u015b us\u0142ug\u0119 S3, wykonuj\u0105c proces weryfikacji AWS.<\/p>\n<p>Po aktywacji us\u0142ugi S3 uzyskaj swoje dane uwierzytelniaj\u0105ce, kt\u00f3rych b\u0119dziemy potrzebowa\u0107 za kilka chwil. Otrzymasz go, klikaj\u0105c link \u201eMoje dane uwierzytelniaj\u0105ce&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=\"Jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji Laravel i przechowywa\u0107 j\u0105 na Amazon S3?\" ><\/a><\/p>\n<h3>Skonfiguruj sterownik S3 w Laravel<\/h3>\n<p>Przejd\u017a do edytora kodu i otw\u00f3rz plik <code>config\/filesystems.php<\/code>. W tym pliku wida\u0107, \u017ce szczeg\u00f3\u0142y S3 s\u0105 ustawiane przy u\u017cyciu <code>env()<\/code>metody. Oznacza to, \u017ce musisz ustawi\u0107 swoje po\u015bwiadczenia S3 w <code>.env<\/code>pliku.<\/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>Otw\u00f3rz <code>.env<\/code>plik i dodaj do niego po\u015bwiadczenia AWS S3. Nie ma potrzeby ustawiania warto\u015bci AWS_URL, poniewa\u017c jest to opcjonalne.<\/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>Przed u\u017cyciem S3 musisz zainstalowa\u0107 odpowiedni pakiet przez Composer:<\/p>\n<pre><code>composer require league\/flysystem-aws-s3-v3 ~1.0<\/code><\/pre>\n<h3>Zainstaluj i skonfiguruj bibliotek\u0119 Spatie<\/h3>\n<p>Przed zainstalowaniem biblioteki Spatie upewnij si\u0119, \u017ce Tw\u00f3j system spe\u0142nia wymagania pakietu. Przeczytaj wi\u0119cej na ten temat na ich stronie z <a href=\"https:\/\/spatie.be\/docs\/laravel-backup\/v7\/requirements\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wymaganiami<\/a>.<\/p>\n<p>Je\u015bli u\u017cywasz starszej wersji Laravela, sprawd\u017a jedn\u0105 z poprzednich wersji tego pakietu na <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>Zainstalujmy pakiet, uruchamiaj\u0105c poni\u017csze polecenie:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Po zainstalowaniu biblioteki uruchom nast\u0119pne polecenie poni\u017cej, kt\u00f3re opublikuje plik konfiguracyjny do <code>config\/backup.php<\/code>.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Otw\u00f3rz <code>config\/backup.php<\/code>plik i ustaw nazw\u0119 'dysk\u00f3w&#8217; na 's3&#8242;. Robi\u0105c to, m\u00f3wimy temu pakietowi, aby przechowywa\u0142 kopi\u0119 zapasow\u0105 Laravel w wiadrze 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>W tym pliku dost\u0119pne s\u0105 r\u00f3wnie\u017c inne konfiguracje. U\u017cytkownik mo\u017ce do\u0142\u0105czy\u0107 i wykluczy\u0107 katalogi do kopii zapasowej. W przypadku w\u0142\u0105czania warto\u015b\u0107 to, <code>base_path()<\/code>a dla opcji wykluczania warto\u015bci to <code>base_path('vendor'), base_path(\u2018node_modules\u2019)<\/code>. Oznacza to, \u017ce nie do\u0142\u0105czaj folder\u00f3w <code>vendor<\/code>i <code>nod_modules<\/code>do ostatecznej kopii zapasowej.<\/p>\n<h3>Przechowuj kopi\u0119 zapasow\u0105 aplikacji Laravel na Amazon S3<\/h3>\n<p>Sko\u0144czyli\u015bmy ze wszystkimi podstawowymi konfiguracjami wymaganymi do przechowywania kopii zapasowej Laravel na Amazon S3. Teraz mo\u017cemy przechowywa\u0107 nasz\u0105 pierwsz\u0105 kopi\u0119 zapasow\u0105. Otw\u00f3rz terminal w katalogu g\u0142\u00f3wnym projektu i uruchom polecenie:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>Powy\u017csze polecenie wykona kopi\u0119 zapasow\u0105 aplikacji Laravel na AWS. Zip kopii zapasowej znajdziesz w swoim wiadrze S3. Kopia zapasowa zip zawiera pliki aplikacji, foldery i magazyn bazy danych.<\/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=\"Jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji Laravel i przechowywa\u0107 j\u0105 na Amazon S3?\" ><\/a><\/p>\n<p>Ta biblioteka umo\u017cliwia r\u00f3wnie\u017c planowanie procesu tworzenia kopii zapasowej. Mo\u017cesz zautomatyzowa\u0107 zadanie tworzenia kopii zapasowej. W tym celu dodaj do <code>app\/Console\/Kernel.php<\/code>pliku poni\u017cszy kod .<\/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>Tutaj ustawiam codzienn\u0105 kopi\u0119 zapasow\u0105 na 06:00. U\u017cytkownik mo\u017ce zmieni\u0107 ten czas zgodnie z ich wymaganiami.<\/p>\n<p>Mam nadziej\u0119, \u017ce rozumiesz, jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji Laravel i przechowywa\u0107 j\u0105 na Amazon S3. Chcia\u0142bym us\u0142ysze\u0107 wasze przemy\u015blenia i sugestie w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-przeslac-plik-do-s3-za-pomoca-systemu-plikow-laravel\/\" title=\"Jak przes\u0142a\u0107 plik do S3 za pomoc\u0105 systemu plik\u00f3w Laravel?\">Jak przes\u0142a\u0107 plik do S3 za pomoc\u0105 systemu plik\u00f3w Laravel?<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/przeslij-pliki-do-amazon-s3-za-pomoca-aws-php-sdk\/\" title=\"Prze\u015blij pliki do Amazon S3 za pomoc\u0105 AWS PHP SDK\">Prze\u015blij pliki do Amazon S3 za pomoc\u0105 AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/kopia-zapasowa-aplikacji-laravel-na-dropbox\/\" title=\"Kopia zapasowa aplikacji Laravel na Dropbox\">Kopia zapasowa aplikacji Laravel na Dropbox<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zalecane jest wykonanie kopii zapasowej aplikacji Laravel. W tym artykule dowiemy si\u0119, jak wykona\u0107 kopi\u0119 zapasow\u0105 Laravel i przechowywa\u0107 j\u0105 na 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":[501],"tags":[847],"class_list":["post-29619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/29619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=29619"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/29619\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/20153"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=29619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=29619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=29619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}