{"id":156,"date":"2015-11-08T13:04:36","date_gmt":"2015-11-08T12:04:36","guid":{"rendered":"http:\/\/it.gersting.de\/?page_id=156"},"modified":"2015-12-16T19:54:18","modified_gmt":"2015-12-16T18:54:18","slug":"erster-testlauf-des-backup-servers","status":"publish","type":"page","link":"https:\/\/www.gersting.de\/?page_id=156","title":{"rendered":"Erster Testlauf des Backup-Servers"},"content":{"rendered":"<p><a href=\"https:\/\/www.gersting.de\/?page_id=20\">zur\u00fcck zur LC2ool Backup Seite<\/a><\/p>\n<p>Die erste <a href=\"https:\/\/www.gersting.de\/?page_id=123\" target=\"_blank\">Konfiguration des Backup-Servers<\/a> ist nun abgeschlossen und der erste Durchlauf der Backup-Software ist \u00fcber Nacht geschehen.<\/p>\n<p>Ein Blick auf in den Backup-Ordner zeigt folgendes:<\/p>\n<p><a href=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_110a.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-162 size-large\" src=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_110a-1024x857.png\" alt=\"test_110a\" width=\"640\" height=\"536\" srcset=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_110a-1024x857.png 1024w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_110a-300x251.png 300w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_110a.png 1168w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Es gibt drei Kategorien vom Ordnern im Ordner &#8222;\/BACKUP&#8220;:<\/p>\n<ul>\n<li>ALC_BACKUP\/[HOSTNAME]_[DATUM] : Hier landen die gepackten Vollbackups.<\/li>\n<li>MONTHLY-BACKUP-[Jahr]-[Monat] : Hier sind die Drop-Outs f\u00fcr einen Monat<\/li>\n<li>RSYNC\/[HOSTNAME] : Hier befindet sich der RSYNC-Cache pro Rechner (Host)<\/li>\n<\/ul>\n<p>Soweit sieht das erstmal gut aus<\/p>\n<p>&#8212; Anmerkung : Die angezeigten Dropouts sind von vorhergehenden manuellen Tests &#8212;<\/p>\n<h2>Zum Ablauf des Backups:<\/h2>\n<pre>30 1\u00a0\u00a0\u00a0 * * *\u00a0\u00a0 root\u00a0\u00a0\u00a0 \/RSYNC\/FILE_RSYNC.pl &amp;\r\n0\u00a0 2\u00a0\u00a0\u00a0 * * *\u00a0\u00a0 root\u00a0\u00a0\u00a0 \/usr\/local\/sbin\/FILE_BACKUP_2009_006.pl &amp;<\/pre>\n<p>Wie die zwei Eintr\u00e4ge in der \/etc\/crontab vermuten lassen besteht die Erstellung des Backups aus zwei getrennten Teilen:<\/p>\n<ul>\n<li>FILE_RSYNC.pl : den Client-Anteil der Backup-Erstellung<\/li>\n<li>FILE_BACKUP_2009_006.pl : den Server-Anteil des Backups<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_111.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-158 size-large\" src=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_111-1024x857.png\" alt=\"test_111\" width=\"640\" height=\"536\" srcset=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_111-1024x857.png 1024w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_111-300x251.png 300w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_111.png 1168w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><strong>FILE_RSYNC.pl<\/strong> l\u00e4uft auf dem Client (was in diesem Fall der Backup-Server selbst ist) und bef\u00fcllt den, auf dem Backup-Server liegenden, RSYNC-Cache. Die Konfiguration wird der Konfigurations-Tabelle der Backup-Datenbank entnommen und die eigentliche Kernfunktion sieht folgender Ma\u00dfen aus:<\/p>\n<p># rsync [Optionen] [Filter] [Quellordner Backup-Client] [Zielordner Backp-Server]<\/p>\n<p>Dem Filter\u00a0<strong><em>&#8211;filter=&#8216;-p \\@eaDir&#8216;<\/em><\/strong> musste ich einf\u00fcgen, da die Metadaten-Ordner auf meiner NAS zu Hause ein &#8218;@&#8216;-Zeichen enthalten und das leider ein reserviertes Zeichen in Perl-Skripten ist. Es gab also sehr unsch\u00f6ne Effekte. Den Filter kann man ggf. nat\u00fcrlich noch auf seine eigenen Bed\u00fcrfnisse anpassen.<\/p>\n<p>Das Skript FILE_RSYNC.pl dient also nur dazu die zu sichernden Daten m\u00f6glichst schnell vom dem oder den produktiven Server(n) auf den eigentlichen Backup-Server zu synchronisieren. Dieses kann auch \u00fcber eine WAN-VPN-Leitung erfolgen, allerdings muss man dann ggf. etwas mehr Vorlauf einplanen und den Cron-Job f\u00fcr FILE_RSYNC.pl vorverlegen.<\/p>\n<p><strong>FILE_BACKUP_2009_006.pl<\/strong> ist das eigentlichen Backup-Skript und l\u00e4uft ausschlie\u00dflich auf dem Backup-Server. Das Skript f\u00fchrt dabei nicht selbst das Backup aus, sondern erzeugt dynamsich ein Skript anhand der in der Konfigurations-Tabelle der Backup-Datenbank hinterlegten Einstellungen.<strong><br \/>\n<\/strong><\/p>\n<p><a href=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_112.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-163 size-large\" src=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_112-1024x857.png\" alt=\"test_112\" width=\"640\" height=\"536\" srcset=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_112-1024x857.png 1024w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_112-300x251.png 300w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_112.png 1168w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Im Skript kann man den Unterschied bei der Einstellungsoption &#8222;subfolder&#8220; gut erkennen.<\/p>\n<ul>\n<li>&#8222;no&#8220; &#8211; sichert den kompletten angebenen Ordner in ein tar-Vollbackup<\/li>\n<li>&#8222;yes&#8220; &#8211; sichert die Unterordner des angebenen Ordners in mehrere tar-Vollbackups<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_113.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-159 size-large\" src=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_113-1024x857.png\" alt=\"test_113\" width=\"640\" height=\"536\" srcset=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_113-1024x857.png 1024w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_113-300x251.png 300w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_113.png 1168w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Im obrigen Screenshot kann man erkennen, das nach der Erstellung der Vollbackups noch eine ganze Reihe anderer Skripte aufgerufen werden, die aber statisch hinterlegt sind:<\/p>\n<ul>\n<li><strong>insert_drops.pl <\/strong>: ermittelt die Drop-Outs anhand der Datenbank-Indices<\/li>\n<li><strong>extract_drops_untar_006.pl<\/strong> : Extrahiert die Drop-Outs aus den &#8222;alten&#8220; Vollbackups<\/li>\n<li><strong><em>kill_old_backup.pl<\/em><\/strong> : L\u00f6scht die &#8222;alten&#8220; Vollbackups<\/li>\n<li><strong>rsync<\/strong> sichert\u00a0 <strong>\/BACKUP\/<\/strong> nach<strong> \/BACKUP-Archiver\/BACKUP-STORAGE\/<\/strong><\/li>\n<\/ul>\n<p>Das fertige dynamisch erzeugte Skript ist <strong>\/tmp\/RUN_BACKUP.pl<\/strong> und wird dann mittels eines kleinen Spawner-Skriptes <strong>\/tmp\/SPAWN_RUN_BACKUP.sh<\/strong> gestartet. Dieses ist notwendig, damit sich das Skript <strong>FILE_BACKUP_2009_006.pl<\/strong> beenden kann und nicht auf das Ende des Backups warten muss.<\/p>\n<p>Um die volle Funktionalit\u00e4t zu entfalten sollte dann aber mehr als ein Lauf stattgefunden haben. Da diese Backup-Software fest darauf angelegt ist tagesweise zu laufen, heist es an dieser Stelle ein paar Tage zu warten und dann noch mal zu beobachten, ob alles geklappt hat.<\/p>\n<p>Ich habe mich entschlossen noch die<strong> \/home<\/strong>-Verzeichnisse der User zu sichern und trage die noch schnell mit phpmyadmin in der Konfigurations-Tabelle der Backup-Datenbank nach.<\/p>\n<p>Wichtig dabei ist, nat\u00fcrlich als <strong>&#8222;Subfolder = yes&#8220;<\/strong> und wenn man einen vorhanden Eintrag als Template benutzt, sollte man den nat\u00fcrlich <strong>&#8222;Als neuen Datensatz speichern&#8220;<\/strong>.<\/p>\n<p><a href=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_114.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-160 size-large\" src=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_114-1024x857.png\" alt=\"test_114\" width=\"640\" height=\"536\" srcset=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_114-1024x857.png 1024w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_114-300x251.png 300w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_114.png 1168w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a> <a href=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_115.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-161 size-large\" src=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_115-1024x857.png\" alt=\"test_115\" width=\"640\" height=\"536\" srcset=\"https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_115-1024x857.png 1024w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_115-300x251.png 300w, https:\/\/www.gersting.de\/wp-content\/uploads\/2015\/11\/test_115.png 1168w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>So, die Einstellungen sind fertig ge\u00e4ndert und nun hei\u00dft es warten was beim n\u00e4chsten Durchlauf passiert.<\/p>\n<p><em>&#8212; Achtung: Bitte <strong>FILE_BACKUP_2009_006.pl<\/strong> nicht manuell antriggern! <strong>FILE_RSYNC.pl<\/strong> ist relativ unkritisch, wenn das Hauptbackup durchgelaufen ist&#8211;<\/em><\/p>\n<p>So stay tuned !<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>zur\u00fcck zur LC2ool Backup Seite Die erste Konfiguration des Backup-Servers ist nun abgeschlossen und der erste Durchlauf der Backup-Software ist \u00fcber Nacht geschehen. Ein Blick auf in den Backup-Ordner zeigt folgendes: Es gibt drei Kategorien vom Ordnern im Ordner &#8222;\/BACKUP&#8220;: &hellip; <a href=\"https:\/\/www.gersting.de\/?page_id=156\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-156","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gersting.de\/index.php?rest_route=\/wp\/v2\/pages\/156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gersting.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gersting.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gersting.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gersting.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=156"}],"version-history":[{"count":9,"href":"https:\/\/www.gersting.de\/index.php?rest_route=\/wp\/v2\/pages\/156\/revisions"}],"predecessor-version":[{"id":199,"href":"https:\/\/www.gersting.de\/index.php?rest_route=\/wp\/v2\/pages\/156\/revisions\/199"}],"wp:attachment":[{"href":"https:\/\/www.gersting.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}