{"id":24127,"date":"2021-05-12T14:03:00","date_gmt":"2021-05-12T11:03:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24127"},"modified":"2021-10-18T02:44:44","modified_gmt":"2021-10-17T23:44:44","slug":"so-erstellen-sie-ein-backup-der-laravel-anwendung","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-erstellen-sie-ein-backup-der-laravel-anwendung\/","title":{"rendered":"So erstellen Sie ein Backup der Laravel-Anwendung"},"content":{"rendered":"<p>M\u00f6chten Sie ein Backup der Laravel-Anwendung erstellen oder planen? Die Sicherung der Laravel-Datenbank und des Dateisystems ist immer eine gute Idee. Sie sollten Ihr Backup jederzeit parat haben, wenn mit Ihrem Server oder Ihrer Anwendung etwas schief geht. In diesem Artikel untersuchen wir, wie Sie ein Backup der Laravel-Anwendung mit der Datenbank erstellen.<\/p>\n<p>Wenn Sie eine WordPress-Website betreiben, gibt es Plugins wie <a href=\"https:\/\/updraftplus.com\/?afref=464\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Updraftplus, mit<\/a> denen wir Backups auf dem Server oder in der Cloud speichern k\u00f6nnen. Aber wenn es um Laravel geht, gibt es kein Konzept wie ein Plugin. In Laravel m\u00fcssen wir Bibliotheken installieren und konfigurieren.<\/p>\n<p><a href=\"https:\/\/github.com\/spatie\/laravel-backup\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Spatie<\/a> hat ein Paket namens laravel-backup entwickelt, das zum Speichern von Laravel-Backups n\u00fctzlich ist. Dieses Paket bietet auch eine Option, mit der Sie Ihren Backup-Prozess planen k\u00f6nnen.<\/p>\n<p>Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie ein Backup der Laravel-Anwendung mit der Datenbank erstellen.<\/p>\n<h3>Einstieg<\/h3>\n<p>Die neueste Version dieses Pakets erfordert PHP 7.2 oder h\u00f6her mit dem <a href=\"https:\/\/www.php.net\/manual\/en\/book.zip.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ZIP-Modul<\/a> und Laravel 5.7 oder h\u00f6her. Wenn Sie die alte Version von Laravel verwenden, sind <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v5\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Version 5<\/a> und <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v4\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Version 4<\/a> dieses Pakets verf\u00fcgbar.<\/p>\n<p>F\u00fcr dieses Tutorial verwenden wir die <a href=\"https:\/\/docs.spatie.be\/laravel-backup\/v6\/introduction\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">neueste Version<\/a> dieser Bibliothek. Zuerst m\u00fcssen Sie das Paket installieren, indem Sie den folgenden Befehl ausf\u00fchren:<\/p>\n<pre><code>composer require spatie\/laravel-backup<\/code><\/pre>\n<p>Nachdem Sie das Paket installiert haben, f\u00fchren Sie den n\u00e4chsten Befehl unten aus, der die Konfigurationsdatei in <code>config\/backup.php<\/code>.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"SpatieBackupBackupServiceProvider\"<\/code><\/pre>\n<p>Gehen Sie zu Ihrem Konfigurationsverzeichnis und \u00f6ffnen Sie das <code>backup.php<\/code>im 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>In dieser Datei m\u00fcssen Sie 2 Platzhalter GIVE_PREFIX_HERE und YOUR_EMAIL_ADDRESS ersetzen. F\u00fcr das GIVE_PREFIX_HERE k\u00f6nnen Sie ein beliebiges Pr\u00e4fix wie Ihren Projektnamen angeben. Dies ist nur ein Pr\u00e4fixname f\u00fcr die ZIP-Datei des Backups.<\/p>\n<p>Ein Benutzer kann auch die Verzeichnisse f\u00fcr die Sicherung ein- und ausschlie\u00dfen. F\u00fcr das Include haben wir den Wert base_path() \u00fcbergeben und f\u00fcr die Exclude-Option sind base_path(&#8218;vendor&#8216;), base_path(&#8217;node_modules&#8216;). Dies bedeutet, dass die Ordner &quot;vendor&quot; und &quot;nod_modules&quot; nicht in das endg\u00fcltige Backup eingeschlossen werden.<\/p>\n<p>Wir \u00fcbergeben auch einen Disks-Wert als &#8218;local&#8216;. Dabei wird unser Backup im <code>storage\/app\/Laravel<\/code>Ordner gespeichert. Wir k\u00f6nnen unsere Backups auch auf einem externen Speicher wie s3, Rackspace, SFTP usw. speichern. Diese externen Speichereinstellungen erfordern einige zus\u00e4tzliche Schritte zur Konfiguration mit dem Laravel-Dateisystem. Wir werden mehr dar\u00fcber in einem anderen zuk\u00fcnftigen Artikel behandeln. Wenn Sie nach externem Speicher suchen, lesen Sie bitte die <a href=\"https:\/\/laravel.com\/docs\/5.8\/filesystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel-Dokumentation<\/a>.<\/p>\n<h3>Sicherung der Laravel-Anwendung<\/h3>\n<p>Bisher sind wir mit der Installation und Einrichtung fertig. Jetzt sind wir alle bereit, unser erstes Backup auszuf\u00fchren. \u00d6ffnen Sie das Terminal in Ihrem Projekt-Root-Verzeichnis und f\u00fchren Sie den Befehl aus:<\/p>\n<pre><code>php artisan backup:run<\/code><\/pre>\n<p>Der obige Befehl w\u00fcrde eine Sicherung der Laravel-Anwendung erstellen. Sie finden die ZIP-Datei des Backups im Ordner <code>storage\/app\/Laravel<\/code>. Backup-ZIP enth\u00e4lt Ihre Anwendungsdateien, Ordner und den Datenbankspeicher.<\/p>\n<p>Diese Bibliothek erm\u00f6glicht es uns auch, einen Backup-Prozess zu planen. Wir k\u00f6nnen unsere Backup-Aufgabe automatisieren. Dazu sollten Sie folgenden Code in die <code>app\/Console\/Kernel.php<\/code>Datei schreiben .<\/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>Wir stellen die t\u00e4gliche Sicherung um 06:00 Uhr ein. Der Benutzer kann diese Zeit nach seinen Anforderungen \u00e4ndern.<\/p>\n<p>Das ist es! Es geht darum, ein Backup der Laravel-Anwendung zu erstellen. Wir empfehlen dringend, regelm\u00e4\u00dfig Backups zu erstellen und Ihre Anwendung vor sch\u00e4dlichen Umst\u00e4nden zu sch\u00fctzen.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-erstellen-sie-ein-backup-der-laravel-anwendung-und-speichern-es-auf-amazon-s3\/\" title=\"So erstellen Sie ein Backup der Laravel-Anwendung und speichern es auf Amazon S3\">So erstellen Sie ein Backup der Laravel-Anwendung und speichern es auf Amazon S3<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/senden-von-e-mails-ueber-den-gmail-smtp-server-in-laravel\/\" title=\"Senden von E-Mails \u00fcber den Gmail-SMTP-Server in Laravel\">Senden von E-Mails \u00fcber den Gmail-SMTP-Server in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-installieren-und-verwenden-sie-ckeditor-in-laravel\/\" title=\"So installieren und verwenden Sie CKEditor in Laravel\">So installieren und verwenden Sie CKEditor in Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel diskutieren wir eine L\u00f6sung, die eine Sicherung der Laravel-Anwendung mit der Datenbank \u00fcbernimmt. Nach der Installation und Konfiguration des Pakets k\u00f6nnen wir ein Backup erstellen, indem wir den Befehl ausf\u00fchren. Wir k\u00f6nnen auch unser Backup planen.<\/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":[496],"tags":[845],"class_list":["post-24127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=24127"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=24127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}