{"id":58,"date":"2018-07-29T14:16:44","date_gmt":"2018-07-29T12:16:44","guid":{"rendered":"https:\/\/pascal-korz.de\/blog\/?p=58"},"modified":"2018-11-19T21:27:20","modified_gmt":"2018-11-19T20:27:20","slug":"automatische-backups-mit-duplicati","status":"publish","type":"post","link":"https:\/\/pascal-korz.de\/blog\/2018\/07\/29\/automatische-backups-mit-duplicati\/","title":{"rendered":"Automatische Backups mit Duplicati"},"content":{"rendered":"<p>Dateien k\u00f6nnen nicht wichtig sein, wenn sie nicht gesichert werden. Diese Aussage h\u00f6rt man oft, meistens nachdem tats\u00e4chlich wichtige Dateien unrettbar verlorengingen, weil niemals oder nur unregelm\u00e4\u00dfig und spontan Backups angelegt wurden. Gl\u00fccklicherweise ist es sehr einfach, diesen Ernstfall zu vermeiden. Kostenlose Backup-Programme gibt es genug; in diesem Beitrag m\u00f6chte ich <a href=\"https:\/\/www.duplicati.com\/\">Duplicati<\/a> vorstellen, eine aus der Masse hervorstechende L\u00f6sung f\u00fcr Linux, Windows und Mac. Die Installation erfolgt unkompliziert \u00fcber die jeweilige betriebssystemeigene Art. Obwohl auch noch die alte Version 1.3.4 angeboten wird, sei die neueste und komplett \u00fcberarbeitete Version empfohlen, obwohl es sich um eine Beta-Version handelt. F\u00fcr Arch Linux und darauf aufsetzende Linux-Distributionen findet sich ein entsprechendes Paket im AUR.<\/p>\n<p>Nach der Installation l\u00e4sst sich Duplicati \u00fcber ein intuitives Webinterface, standardm\u00e4\u00dfig erreichbar unter localhost:8200, einrichten. Der Zugriff kann durch ein Passwort gesch\u00fctzt werden, was man in einer Mehrbenutzerumgebung oder beim geplanten Zugriff von extern nutzen sollte. Backup-Pl\u00e4ne sind mit wenigen Klicks konfiguriert: Zun\u00e4chst vergibt man einen beliebigen Namen f\u00fcr den Plan (Art und Ziel des Backups w\u00e4ren sicher hilfreich). Au\u00dferdem werden die Backup-Dateien standardm\u00e4\u00dfig mit AES-256 symmetrisch verschl\u00fcsselt, doch eine externe Verschl\u00fcsselung mit GNU Privacy Guard oder gar keine Verschl\u00fcsselung sind ebenso m\u00f6glich. Entscheidet man sich f\u00fcr die Verschl\u00fcsselung, vergibt man ein Kennwort. Dieses Kennwort darf nicht in Vergessenheit geraten, denn das sch\u00f6nste Backup n\u00fctzt nichts, wenn man seine Dateien nach der Wiederherstellung nicht \u00f6ffnen kann.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-01-300x246.png\" alt=\"Duplicati: Neuer Backup-Job\" width=\"300\" height=\"246\" class=\"aligncenter size-medium wp-image-63\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-01-300x246.png 300w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-01.png 664w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Duplicati unterst\u00fctzt verschiedene Ziele und Protokolle, unter anderem nat\u00fcrlich lokale Speicher, aber auch WebDAV, ein h\u00e4ufig genutztes Protokoll, um auf Cloud-Speicherdienste zuzugreifen. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-02-300x279.png\" alt=\"Duplicati: Zielpfad angeben\" width=\"300\" height=\"279\" class=\"aligncenter size-medium wp-image-64\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-02-300x279.png 300w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-02.png 668w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Im Falle von WebDAV muss der Zugriff mit Benutzername und Kennwort erfolgen. SSL und Port 443 f\u00fcr eine gesicherte Verbindung zwischen Rechner und Cloud-Speicher sind auch nicht verkehrt. Der Servername wird ohne http:&sol;&sol; oder https:&sol;&sol; eingetragen. Das Format f\u00fcr den Pfad auf dem Server, wo die Backups abgelegt werden sollen, ist abh\u00e4ngig vom Dienst. F\u00fcr die MagentaCLOUD s\u00e4hen die Serverinformationen wie folgt aus:<\/p>\n<pre>Server: webdav.magentacloud.de\r\nPfad: \/Ordner<\/pre>\n<p>NextCloud und OwnCloud ben\u00f6tigen den f\u00fchrenden Schr\u00e4gstrich nicht, enthalten aber in der Standardkonfiguration die remote.php&sol;webdav-Komponente im Pfad:<\/p>\n<pre>Server: cloud.domain.de\r\nPfad: remote.php\/webdav\/Ordner<\/pre>\n<p>Die Verbindungsdaten lassen sich n\u00fctzlicherweise im selben Men\u00fc testen.<\/p>\n<p>Die zu sichernden Dateien und Ordner lassen sich \u00fcber einen Verzeichnisbaum ausw\u00e4hlen oder, \u00fcbersichtlicher, nach Klick auf die drei Punkte rechts dar\u00fcber, Pfad f\u00fcr Pfad eintragen. Pfade mit schlie\u00dfendem Schr\u00e4gstrich werden als Verzeichis interpretiert, solche ohne als Dateien. Darauf weist Duplicati allerdings noch einmal hin, falls der Slash vergessen wird. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-03-272x300.png\" alt=\"Duplicati: Backup-Quellen ausw\u00e4hlen\" width=\"272\" height=\"300\" class=\"aligncenter size-medium wp-image-65\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-03-272x300.png 272w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-03.png 686w\" sizes=\"auto, (max-width: 272px) 100vw, 272px\" \/><\/p>\n<p>Danach entscheidet man sich f\u00fcr einen Zeitplan, den man auf bestimmte Uhrzeiten und Wochentage genau einrichten kann.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-04-300x296.png\" alt=\"Duplicati: Zeitplan bestimmen\" width=\"300\" height=\"296\" class=\"aligncenter size-medium wp-image-66\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-04-300x296.png 300w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-04.png 653w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Schlie\u00dflich kann man noch bestimmen, wie gro\u00df die Blockdateien am Zielort werden sollen (mehr dazu im \u00fcbern\u00e4chsten Absatz) und wie mit \u00e4lteren Backups verfahren werden soll. Zum Beispiel k\u00f6nnte man immer nur f\u00fcnf Backups behalten, sodass nach der sechsten Sicherung das \u00e4lteste Backup gel\u00f6scht w\u00fcrde.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-05-300x226.png\" alt=\"Duplicati: Blockgr\u00f6\u00dfe und Retention\" width=\"300\" height=\"226\" class=\"aligncenter size-medium wp-image-67\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-05-300x226.png 300w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-05.png 656w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Duplicati erlaubt noch eine ganze Reihe von Detaileinstellungen, sowohl global als auch je Backup-Job, versteckt diese jedoch in Auswahllisten am Schluss jedes Men\u00fcs. Diese Einstellungen sind f\u00fcr Experten interessant, die genau wissen, was sie tun. Damit gelingt dem Programm der Spagat zwischen Funktionalit\u00e4t und Einsteigerfreundlichkeit. Nun sollte man den Backup-Job einmal manuell starten. Im oberen Bereich des Webinterface werden Name und Termin des n\u00e4chsten Backup-Jobs bzw. der Status des laufenden angezeigt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-06-300x95.png\" alt=\"Duplicati: Backup-Plan in der \u00dcbersicht\" width=\"300\" height=\"95\" class=\"aligncenter size-medium wp-image-68\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-06-300x95.png 300w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-06.png 573w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-07-300x26.png\" alt=\"duplicati-07Duplicati: Status- und Fortschrittsbalken\" width=\"300\" height=\"26\" class=\"aligncenter size-medium wp-image-69\" srcset=\"https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-07-300x26.png 300w, https:\/\/pascal-korz.de\/blog\/wp-content\/uploads\/2018\/07\/duplicati-07.png 735w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Duplicatis Backup-Konzept ist interessant: Die gewohnte Einteilung in Vollbackups, inkrementelle und differentielle Sicherungen wird hier aufgebrochen. Duplicati legt bei der ersten Sicherung stets ein Vollbackup der Daten in Form von sogenannten Blockdateien ab, die standardm\u00e4\u00dfig 50 MB gro\u00df sind, und speichert die Informationen dar\u00fcber, in welchen Bl\u00f6cken sich welche Dateibestandteile befinden, in einer Index-Datei ab. Welche Dateien \u00fcbehaupt gesichert wurden, verr\u00e4t eine Datei in Form einer Liste. Wie bereits erw\u00e4hnt, verschl\u00fcsselt Duplicati standardm\u00e4\u00dfig mit AES-256 und zwar nat\u00fcrlich schon vor dem Transfer der Daten zum Zielort; demzufolge l\u00e4sst sich keine der Block-, Listen- und Indexdateien ohne das zur Verschl\u00fcsselung benutzte Kennwort \u00f6ffnen.<\/p>\n<p>Zuk\u00fcnftige Sicherungen erfolgen inkrementell. Allerdings unterscheidet sich der Restore-Prozess von dem vieler anderer L\u00f6sungen: Anstatt alle inkrementellen Sicherungen und das Vollbackup zum Wiederherstellen zu verwenden, schl\u00e4gt Duplicati in der Indexdatei nach und verwendet nur diejenigen Blockdateien, in denen sich die f\u00fcr die wiederherzustellende Datei ben\u00f6tigten Daten befinden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dateien k\u00f6nnen nicht wichtig sein, wenn sie nicht gesichert werden. Diese Aussage h\u00f6rt man oft, meistens nachdem tats\u00e4chlich wichtige Dateien unrettbar verlorengingen, weil niemals oder nur unregelm\u00e4\u00dfig und spontan Backups angelegt wurden. Gl\u00fccklicherweise ist es sehr einfach, diesen Ernstfall zu vermeiden. Kostenlose Backup-Programme gibt es genug; in diesem Beitrag m\u00f6chte ich Duplicati vorstellen, eine aus&hellip; <a class=\"more-link\" href=\"https:\/\/pascal-korz.de\/blog\/2018\/07\/29\/automatische-backups-mit-duplicati\/\"><span class=\"screen-reader-text\">Automatische Backups mit Duplicati<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":6,"featured_media":71,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,8],"tags":[],"class_list":["post-58","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-backups","category-linux","entry"],"_links":{"self":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":10,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":264,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts\/58\/revisions\/264"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/media\/71"}],"wp:attachment":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}