{"id":2552,"date":"2022-04-06T19:44:11","date_gmt":"2022-04-06T17:44:11","guid":{"rendered":"https:\/\/ekiwi.de\/?p=2552"},"modified":"2022-12-27T14:24:33","modified_gmt":"2022-12-27T13:24:33","slug":"backup-von-mysql-und-wordpress-webseite-mit-shell-script","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/2552\/backup-von-mysql-und-wordpress-webseite-mit-shell-script\/","title":{"rendered":"Backup von MySQL und WordPress Webseite mit Shell-Script"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/2552\/backup-von-mysql-und-wordpress-webseite-mit-shell-script\/#Backup_der_MySQL-Datenbank_mit_mysqldump\" >Backup der MySQL-Datenbank mit mysqldump<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/2552\/backup-von-mysql-und-wordpress-webseite-mit-shell-script\/#Backup_der_Dateien\" >Backup der Dateien<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ekiwi.de\/index.php\/2552\/backup-von-mysql-und-wordpress-webseite-mit-shell-script\/#Aktuelles_Datum_in_Dateinamen_aufnehmen\" >Aktuelles Datum in Dateinamen aufnehmen<\/a><\/li><\/ul><\/nav><\/div>\n<p>F\u00fcr Backups von WordPress-Webseiten gibt es einige Plugins, ich wollte aber ein einfaches Backup-Script f\u00fcr den SSH-Zugang.<\/p>\n<p><!--more--><\/p>\n<p>Es gibt nat\u00fcrlich Plugins wie Duplicator, welche ein komplettes <a title=\"Where does iTunes store iOS backups and how can backup location be changed?\" href=\"https:\/\/ekiwi-blog.de\/en\/26725\/find-and-change-itunes-backup-location\/\" target=\"_blank\" rel=\"noopener\">Backup<\/a> der WordPress-Webseite erstellen, aber ich wollte ein einfaches Script f\u00fcr den Webspace. Gesichert werden sollen damit die MySQL-Datenbank, als auch das Verzeichnis. Damit funktioniert der Ansatz nicht nur mit WordPress, sondern auch mit anderen Systemen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Backup_der_MySQL-Datenbank_mit_mysqldump\"><\/span>Backup der MySQL-Datenbank mit mysqldump<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>F\u00fcr die Sicherung einer Datenbank k\u00f6nnen wir das Tool &#8222;mysqldump&#8220; verwenden. Ein einfacher Befehl sieht beispielsweise so aus:<\/p>\n<pre>mysqldump -uUsername -pPassword DatabaseName | gzip -c &gt; db-dump.sql.gz\r\n<\/pre>\n<p>Wir k\u00f6nnen hier den Benutzernamen, Passwort und den Datenbanknamen \u00fcbergeben. Mittels &#8222;gzip&#8220; packen wir alles in eine GZIP-Datei, was die Backupdatei deutlich kleiner werden l\u00e4sst.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Backup_der_Dateien\"><\/span>Backup der Dateien<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Neben der Datenbankdaten, wollen wir nat\u00fcrlich auch die Dateien sichern. Hierf\u00fcr k\u00f6nnen wir den &#8222;tar&#8220; Befehl verwenden.<\/p>\n<pre>tar cvfz backup.tar.gz verzeichnis\/\r\n<\/pre>\n<p>Dieser sichert das Verzeichnis in eine &#8222;tar.gz&#8220; Datei.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Aktuelles_Datum_in_Dateinamen_aufnehmen\"><\/span>Aktuelles Datum in Dateinamen aufnehmen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bisher verwenden wir feste Dateinamen. Sinnvoll ist es aber, das aktuelle Datum mit in den Dateinamen aufzunehmen. Damit k\u00f6nnen dann verschiedene Backupst\u00e4nde gespeichert werden.<\/p>\n<p>Das aktuelle Datum k\u00f6nnen wir mit folgendem Fragment in unser Script aufnehmen:<\/p>\n<pre>$(date '+%Y-%m-%d')\r\n<\/pre>\n<p>Unsere beiden Befehle sehen damit wie folgt aus:<\/p>\n<pre>mysqldump -uUsername -pPassword DatabaseName | gzip -c &gt; db-dump_$(date '+%Y-%m-%d').sql.gz\r\ntar cvfz backup_$(date '+%Y-%m-%d').tar.gz verzeichnis\/\r\n<\/pre>\n<p>Das Ergebnis:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2553\" src=\"\/wp-content\/uploads\/2022\/04\/backup.png\" alt=\"\" width=\"419\" height=\"45\" srcset=\"\/wp-content\/uploads\/2022\/04\/backup.png 419w, \/wp-content\/uploads\/2022\/04\/backup-300x32.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>F\u00fcr Backups von WordPress-Webseiten gibt es einige Plugins, ich wollte aber ein einfaches Backup-Script f\u00fcr den SSH-Zugang.<\/p>\n","protected":false},"author":1,"featured_media":218,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[12],"tags":[665,173,666],"class_list":["post-2552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-linux","tag-ssh","tag-tar"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=2552"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2552\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/218"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=2552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=2552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=2552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}