{"id":24118,"date":"2021-05-12T13:48:00","date_gmt":"2021-05-12T10:48:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24118"},"modified":"2021-10-17T21:03:34","modified_gmt":"2021-10-17T18:03:34","slug":"kuinka-ottaa-laravel-sovelluksen-varmuuskopiointi","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kuinka-ottaa-laravel-sovelluksen-varmuuskopiointi\/","title":{"rendered":"Kuinka ottaa Laravel-sovelluksen varmuuskopiointi"},"content":{"rendered":"<p>Haluatko ottaa tai suunnitella varmuuskopion Laravel-sovelluksesta? Laravel-tietokannan ja tiedostoj\u00e4rjestelm\u00e4n varmuuskopion pit\u00e4minen aina hyv\u00e4 idea. Varmuuskopion pit\u00e4isi olla valmis milloin tahansa, jos jokin menee pieleen palvelimellasi tai sovelluksellasi. T\u00e4ss\u00e4 artikkelissa tutkitaan, kuinka varmuuskopioida Laravel-sovellus tietokantaan.<\/p>\n<p>Jos sinulla on WordPress-verkkosivusto, on olemassa laajennuksia, kuten <a href=\"https:\/\/updraftplus.com\/?afref=464\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Updraftplus,<\/a> jonka avulla voimme tallentaa varmuuskopiot palvelimelle tai pilveen. Mutta kun kyse on Laravelista, laajennusta ei ole. Laravelissa meid\u00e4n on asennettava kirjastot ja m\u00e4\u00e4ritett\u00e4v\u00e4 se.<\/p>\n<p><a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Spatie<\/a> on kehitt\u00e4nyt paketin nimelt\u00e4 laravel-backup, joka on hy\u00f6dyllinen Laravel-varmuuskopion tallentamiseen. T\u00e4m\u00e4 paketti tarjoaa my\u00f6s vaihtoehdon, joka voi ajoittaa varmuuskopioinnin.<\/p>\n<p>T\u00e4st\u00e4 huolimatta katsotaanpa, miten varmuuskopio Laravel-sovelluksesta tietokantaan.<\/p>\n<h3>P\u00e4\u00e4st\u00e4 alkuun<\/h3>\n<p>T\u00e4m\u00e4n paketin uusin versio vaatii PHP 7.2: n tai uudemman <a href=\"https:\/\/www.php.net\/manual\/en\/book.zip.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ZIP-moduulin<\/a> ja Laravel 5.7: n tai uudemman kanssa. Jos k\u00e4yt\u00e4t Laravelin vanhaa versiota, t\u00e4m\u00e4n paketin <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v5\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">versiot 5<\/a> ja <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v4\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">4<\/a> ovat saatavilla.<\/p>\n<p>T\u00e4ss\u00e4 opetusohjelmassa k\u00e4yt\u00e4mme t\u00e4m\u00e4n kirjaston <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v6\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">uusinta versiota<\/a>. Aluksi sinun on asennettava paketti suorittamalla seuraava komento:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Kun olet asentanut paketin, suorita seuraava alla oleva komento, joka julkaisee m\u00e4\u00e4ritystiedoston <code>config\/backup.php<\/code>.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Siirry asetushakemistoon ja avaa <code>backup.php<\/code>editorissa.<\/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>T\u00e4ss\u00e4 tiedostossa sinun on korvattava 2 paikkamerkki\u00e4 GIVE_PREFIX_HERE ja YOUR_EMAIL_ADDRESS. GIVE_PREFIX_HERE-kentt\u00e4\u00e4n voit antaa mink\u00e4 tahansa etuliitteen, kuten projektinimesi. T\u00e4m\u00e4 on vain varmuuskopion zip-tiedoston etuliite.<\/p>\n<p>K\u00e4ytt\u00e4j\u00e4 voi my\u00f6s sis\u00e4llytt\u00e4\u00e4 ja sulkea hakemistot varmuuskopiointia varten. Sis\u00e4lt\u00f6\u00e4 varten olemme ylitt\u00e4neet arvon base_path() ja poissulkemisvaihtoehdon arvot ovat base_path (&#8217;myyj\u00e4&#8217;), base_path (&#8217;solmu_moduulit&#8217;). Se tarkoittaa, ett\u00e4 \u00e4l\u00e4 sis\u00e4lly toimittaja- ja nod_modules-kansioita lopulliseen varmuuskopioon.<\/p>\n<p>V\u00e4lit\u00e4mme my\u00f6s levyn arvon &quot;paikallisena&quot;. N\u00e4in tekem\u00e4ll\u00e4 varmuuskopiomme tallennetaan <code>storage\/app\/Laravel<\/code>kansioon. Voimme my\u00f6s tallentaa varmuuskopiot ulkoiseen tallennustilaan, kuten s3, Rackspace, SFTP, jne. N\u00e4m\u00e4 ulkoisen tallennuksen asetukset edellytt\u00e4v\u00e4t joitain lis\u00e4toimenpiteit\u00e4 Laravel-tiedostoj\u00e4rjestelm\u00e4n m\u00e4\u00e4ritt\u00e4miseksi. K\u00e4sittelemme lis\u00e4\u00e4 aiheesta toisessa tulevassa artikkelissa. Jos etsit ulkoista tallennustilaa, lue <a href=\"https:\/\/laravel.com\/docs\/5.8\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel-ohjeet<\/a>.<\/p>\n<h3>Laravel-sovelluksen varmuuskopiointi<\/h3>\n<p>Toistaiseksi olemme suorittaneet asennuksen ja asennuksen. Nyt olemme kaikki asettaneet suorittamaan ensimm\u00e4isen varmuuskopion. Avaa p\u00e4\u00e4te projektin juurihakemistossa ja suorita komento:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>Yll\u00e4 oleva komento luo varmuuskopion Laravel-sovelluksesta. L\u00f6yd\u00e4t varmuuskopion zip-kansion <code>storage\/app\/Laravel<\/code>. Varmuuskopiointipakkaus sis\u00e4lt\u00e4\u00e4 sovellustiedostot, kansiot ja tietokantavarastot.<\/p>\n<p>T\u00e4m\u00e4n kirjaston avulla voimme my\u00f6s ajoittaa varmuuskopioinnin. Voimme automatisoida varmuuskopioteht\u00e4v\u00e4mme. T\u00e4t\u00e4 varten sinun tulee kirjoittaa koodin alle <code>app\/Console\/Kernel.php<\/code>tiedostoon.<\/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>Asetamme p\u00e4ivitt\u00e4isen varmuuskopion klo 06.00. K\u00e4ytt\u00e4j\u00e4 voi muuttaa t\u00e4t\u00e4 aikaa vaatimustensa mukaisesti.<\/p>\n<p>Se siit\u00e4! Kyse on varmuuskopion ottamisesta Laravel-sovelluksesta. Suosittelemme varmuuskopion ottamista s\u00e4\u00e4nn\u00f6llisesti ja pit\u00e4m\u00e4\u00e4n sovelluksesi turvassa haitallisilta olosuhteilta.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-ottaa-laravel-sovelluksen-varmuuskopiointi-ja-tallentaa-se-amazon-s3-een\/\" title=\"Kuinka ottaa varmuuskopio Laravel-sovelluksesta ja tallentaa se Amazon S3: een\">Kuinka ottaa varmuuskopio Laravel-sovelluksesta ja tallentaa se Amazon S3: een<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/sahkopostin-lahettaminen-gmail-smtp-palvelimen-kautta-laravelissa\/\" title=\"S\u00e4hk\u00f6postin l\u00e4hett\u00e4minen Gmail SMTP -palvelimen kautta Laravelissa\">S\u00e4hk\u00f6postin l\u00e4hett\u00e4minen Gmail SMTP -palvelimen kautta Laravelissa<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-asentaa-ja-kayttaa-ckeditoria-laravelissa\/\" title=\"Kuinka asentaa ja k\u00e4ytt\u00e4\u00e4 CKEditoria Laravelissa\">Kuinka asentaa ja k\u00e4ytt\u00e4\u00e4 CKEditoria Laravelissa<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa keskustelemme ratkaisusta, joka vie Laravel-sovelluksen varmuuskopion tietokantaan? Paketin asentamisen ja m\u00e4\u00e4rityksen j\u00e4lkeen voimme ottaa varmuuskopion suorittamalla komennon. Voimme my\u00f6s ajoittaa varmuuskopioinnin.<\/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":[499],"tags":[843],"class_list":["post-24118","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24118"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24118\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}