{"id":29627,"date":"2021-06-16T12:59:00","date_gmt":"2021-06-16T09:59:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29627"},"modified":"2021-10-17T04:14:52","modified_gmt":"2021-10-17T01:14:52","slug":"backup-laravel-applikation-pa-dropbox","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/backup-laravel-applikation-pa-dropbox\/","title":{"rendered":"Backup Laravel-applikation p\u00e5 Dropbox"},"content":{"rendered":"<p>Det rekommenderas alltid att lagra s\u00e4kerhetskopiering av applikationer i molnet. Du vet aldrig n\u00e4r du kan beh\u00f6va \u00e5terst\u00e4lla din webbplats fr\u00e5n s\u00e4kerhetskopian. Amazon S3, Google Cloud, Dropbox, etc. \u00e4r n\u00e5gra av de popul\u00e4ra tj\u00e4nsterna f\u00f6r att lagra din s\u00e4kerhetskopia. I denna handledning studerar vi lagring av Laravel-s\u00e4kerhetskopiering p\u00e5 Dropbox. Om du vill lagra den p\u00e5 Amazon S3, se v\u00e5r artikel som lagrar <a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-tar-backup-av-laravel-application-och-lagrar-det-pa-amazon-s3\/\" title=\"Laravel-s\u00e4kerhetskopiering p\u00e5 Amazon S3\" >Laravel-s\u00e4kerhetskopiering p\u00e5 Amazon S3<\/a>.<\/p>\n<p>Dropbox erbjuder en API-tj\u00e4nst som kan skicka s\u00e4kerhetskopian fr\u00e5n v\u00e5r applikation till Dropbox. N\u00e4r det g\u00e4ller Laravel m\u00e5ste vi konfigurera Laravel Filesystem och st\u00e4lla in Dropbox som en av fillagren. Det kommer sedan att interagera med Dropbox API bakom kulisserna.<\/p>\n<p>Under interaktion med Dropbox API m\u00e5ste vi ha en <strong>\u00e5tkomsttoken<\/strong> f\u00f6r Dropbox-kontot f\u00f6r auktorisering. L\u00e5t oss f\u00f6rst ta tag i Dropbox-\u00e5tkomsttoken.<\/p>\n<h3>H\u00e4mta Dropbox Access Token<\/h3>\n<p>Skapa en <a href=\"https:\/\/www.dropbox.com\/developers\/apps\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Dropbox-applikation f\u00f6r<\/a> att f\u00e5 \u00e5tkomsttoken. Vid inloggning klickar du p\u00e5 knappen &#8217;Skapa app&#8217;. I n\u00e4sta steg kommer du att be om att v\u00e4lja ett API. V\u00e4lj &quot;Appmapp&quot; under typen av \u00e5tkomst och ge din app namnet. Se sk\u00e4rmdumpen nedan.<\/p>\n<p>D\u00e4refter, fr\u00e5n fliken &quot;Tillst\u00e5nd&quot;, l\u00e4gg till omfattningen av filer och mappar s\u00e5 att v\u00e5r applikation kan skriva till Dropbox.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20191-6081cadca94f5.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-20191-6081cadca94f5.png\" alt=\"Backup Laravel-applikation p\u00e5 Dropbox\" ><\/a><\/p>\n<p>Slutligen v\u00e4ljer du &quot;Ingen utg\u00e5ng&quot; i fliken &quot;Inst\u00e4llningar&quot; i utg\u00e5ngsf\u00e4ltet f\u00f6r \u00e5tkomsttoken och klickar p\u00e5 knappen &quot;Skapa&quot; som ger dig en \u00e5tkomsttoken.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20191-6081cadd3be4f.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-20191-6081cadd3be4f.png\" alt=\"Backup Laravel-applikation p\u00e5 Dropbox\" ><\/a><\/p>\n<h3>Konfigurera Laravel Filesystem f\u00f6r Dropbox<\/h3>\n<p>Laravel tillhandah\u00e5ller ett filsystem som ger drivrutiner f\u00f6r lokal lagring, SFTP och Amazon S3. F\u00f6r att l\u00e4gga till Dropbox som en drivrutin m\u00e5ste vi konfigurera den lite. Det kr\u00e4ver att du l\u00e4gger till en Dropbox-adapter i Laravel-applikationen. Du kan g\u00f6ra det genom att f\u00f6lja stegen nedan.<\/p>\n<p>Installera <a href=\"https:\/\/github.com\/spatie\/flysystem-dropbox\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">spatie \/ flysystem-dropbox-<\/a> biblioteket med kommandot:<\/p>\n<pre><code>composer require spatie\/flysystem-dropbox<\/code><\/pre>\n<p>N\u00e4r du installerar biblioteket skapar du en tj\u00e4nsteleverant\u00f6r <code>DropboxServiceProvider<\/code>med kommandot nedan.<\/p>\n<pre><code>php artisan make:provider DropboxServiceProvider<\/code><\/pre>\n<p>Definiera sedan den anpassade drivrutinen <code>dropbox<\/code>i <code>boot<\/code>metoden f\u00f6r <code>DropboxServiceProvider<\/code>.<\/p>\n<p><strong>appProvidersDropboxServiceProvider.php<\/strong><\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppProviders;\n\u00a0\nuse IlluminateSupportFacadesStorage;\nuse IlluminateSupportServiceProvider;\nuse LeagueFlysystemFilesystem;\nuse SpatieDropboxClient as DropboxClient;\nuse SpatieFlysystemDropboxDropboxAdapter;\n\u00a0\nclass DropboxServiceProvider extends ServiceProvider\n{\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0public function boot()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Storage::extend('dropbox', function ($app, $config) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$client = new DropboxClient(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$config['authorization_token']\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return new Filesystem(new DropboxAdapter($client));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Registrera tj\u00e4nsteleverant\u00f6ren <code>DropboxServiceProvider<\/code>i filens <code>providers<\/code>array <code>config\/app.php<\/code>.<\/p>\n<pre><code>'providers' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\/\/ ...\n\u00a0\u00a0\u00a0\u00a0AppProvidersDropboxServiceProvider::class,\n];<\/code><\/pre>\n<p>D\u00e4refter l\u00e4gger du till dropbox-drivrutinen till filsystemets diskar. \u00d6ppna <code>config\/filesystems.php<\/code>filen och l\u00e4gg till &#8217;dropbox&#8217;-elementet i <code>disks<\/code>matrisen.<\/p>\n<pre><code>'disks' =&gt; [\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0...\n\u00a0\u00a0\u00a0\u00a0'dropbox' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'driver' =&gt; 'dropbox',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'authorization_token' =&gt; env('DROPBOX_AUTH_TOKEN'),\n\u00a0\u00a0\u00a0\u00a0],\n],<\/code><\/pre>\n<p>H\u00e4r f\u00e5r jag v\u00e4rdet av konstanten &#8217;DROPBOX_AUTH_TOKEN&#8217; med <code>env()<\/code>metoden. Det betyder att vi b\u00f6r l\u00e4gga till denna konstant i <code>.env<\/code>filen.<\/p>\n<p><strong>.env<\/strong><\/p>\n<pre><code>...\n...\nDROPBOX_AUTH_TOKEN=PASTE_ACCESS_TOKEN_HERE<\/code><\/pre>\n<h3>Installera och konfigurera Laravel Backup Library<\/h3>\n<p>Hittills \u00e4r vi klara med att l\u00e4gga till Dropbox-adapter till Laravel-applikationen. Installera nu <a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">spatie \/ laravel-backup-<\/a> biblioteket som g\u00f6r att vi kan skicka s\u00e4kerhetskopiering p\u00e5 de olika molntj\u00e4nsterna inklusive Dropbox. K\u00f6r kommandot nedan f\u00f6r installation.<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>N\u00e4r biblioteket \u00e4r installerat, publicera konfigurationsfilen f\u00f6r att <code>config\/backup.php<\/code>anv\u00e4nda kommandot:<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Efter detta \u00f6ppnar du <code>config\/backup.php<\/code>och l\u00e4gger till &#8217;dropbox&#8217; i &#8217;disks&#8217; array.<\/p>\n<pre><code>&lt;?php\n\u00a0\u00a0\u00a0\u00a0\nreturn [\n\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0.......\n\u00a0\u00a0\u00a0\u00a0.......\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0'destination' =&gt; [\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0......\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0......\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/*\n\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*\/\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'disks' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'dropbox',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0......\n\u00a0\u00a0\u00a0\u00a0......<\/code><\/pre>\n<p>Alternativt kan du ocks\u00e5 st\u00e4lla in din e-postadress till vilken avisering som ska skickas om s\u00e4kerhetskopieringsstatus. Du hittar det h\u00e4r alternativet i filens <code>mail<\/code>array <code>config\/backup.php<\/code>.<\/p>\n<h3>Backup Laravel-applikation p\u00e5 Dropbox<\/h3>\n<p>Vi har slutf\u00f6rt alla grundl\u00e4ggande inst\u00e4llningar som kr\u00e4vs f\u00f6r att s\u00e4kerhetskopiera Laravel-applikationen p\u00e5 Dropbox. G\u00e5 till terminalen och skjut kommandot nedan:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>Ovanst\u00e5ende kommando skapar en &quot;Laravel&quot; -mapp till ditt Dropbox-konto och lagrar backup-zip i den. Denna backup-zip inneh\u00e5ller dina Laravel-applikationsfiler, mappar och databas.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20191-6081cadd3be4f.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-20191-6081cadd3be4f.png\" alt=\"Backup Laravel-applikation p\u00e5 Dropbox\" ><\/a><\/p>\n<p>Detta \u00e4r den manuella processen f\u00f6r att g\u00f6ra en Laravel-s\u00e4kerhetskopia. Anv\u00e4ndaren kan ocks\u00e5 schemal\u00e4gga s\u00e4kerhetskopieringsuppgiften. F\u00f6r detta, l\u00e4gg till koden nedan <code>schedule<\/code>i <code>app\/Console\/Kernel.php<\/code>filmetoden.<\/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>H\u00e4r planerar jag den dagliga s\u00e4kerhetskopian kl 06:00. Anv\u00e4ndaren kan \u00e4ndra den h\u00e4r tiden enligt deras krav.<\/p>\n<p>Jag hoppas att du fick veta hur du lagrar en s\u00e4kerhetskopia av Laravel-applikationen p\u00e5 Dropbox. Jag skulle vilja h\u00f6ra dina tankar och f\u00f6rslag i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-laddar-jag-upp-filen-till-s3-med-laravel-filesystem\/\" title=\"Hur laddar jag upp filen till S3 med Laravel Filesystem\">Hur laddar jag upp filen till S3 med Laravel Filesystem<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/ladda-upp-filer-till-amazon-s3-med-aws-php-sdk\/\" title=\"Ladda upp filer till Amazon S3 med AWS PHP SDK\">Ladda upp filer till Amazon S3 med AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-laddar-upp-bilder-till-en-annan-server-via-ftp-i-laravel\/\" title=\"Hur man laddar upp bilder till en annan server via FTP i Laravel\">Hur man laddar upp bilder till en annan server via FTP i Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du s\u00e4kerhetskopiera Laravel-applikationen i Dropbox? I de h\u00e4r artiklarna studerar vi hur man kan lagra s\u00e4kerhetskopior f\u00f6r Laravel-applikationer<\/p>\n","protected":false},"author":1,"featured_media":20192,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[503],"tags":[850],"class_list":["post-29627","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29627","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=29627"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29627\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/20192"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=29627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=29627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=29627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}