[[Vorlage(Getestet,jammy,focal,Noble)]] {{{#!vorlage Wissen [:sudo:Root-Rechte erlangen] [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] optional [:Programme starten: Ein Programm starten] [:Terminal:Ein Terminal öffnen] [:Editor:Einen Editor öffnen] [:chmod:Zugriffsrechte von Dateien und Verzeichnissen ändern] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/Tango/document-save.png, 48, align=left)]] [https://backintime.readthedocs.org/ Back In Time] {en} (BIT) ist eine ursprünglich von Dan Oprea entwickelte [:Sicherheit#Sicherungskopien:Backup]-Anwendung, die dem Programm [wikipedia:Time_Machine_(Apple):Time Machine] ähnelt und ebenso von [wikipedia_en:FlyBack:] inspiriert wurde. Es nutzt [:rsync:] im Hintergrund und bietet neben einer Befehlszeilenschnittstelle (CLI) eine [:Qt:]-basierte grafische Oberfläche. BIT war ursprünglich für das automatisierte Sichern des eigenen [:Homeverzeichnis:] gedacht. Unter Verwendung von Root-Rechten [1] ist aber auch die Sicherung anderer (System-)Verzeichnisse möglich. Das Programm wird seit Ende 2008 entwickelt und steht unter der GNU GPLv2-Lizenz. BIT nutzt das [:rsync/#Differentielle-Sicherung-des-Systems: Hardlinks-Feature von rsync]. Eine unveränderte Datei benötigt hiermit nur einmal Speicherplatz auf der Festplatte (auch wenn sie Teil vieler Backups ist). Dagegen wird eine veränderte Datei immer komplett neu gesichert. Backups von großen veränderlichen Dateien (z.B. virtuelle Festplatten) nehmen also viel Backup-Platz in Anspruch, wenn sie nicht vom Backup ausgenommen werden. Als Sicherungsmedien bieten sich allgemein große (ggf. externe) Festplatten, USB-Sticks aber auch mit [:SSH:] zugängliche entfernte Laufwerke an. BIT unterstützt keine Aufteilung der Daten auf mehrere Medien. Allerdings bietet es die Möglichkeit, über [:Archiv/EncFS:EncFS] zu verschlüsseln. Aufgrund von bekannten Sicherheitsproblemen wird EncFS auf absehbare Zeit [github:bit-team/backintime/issues/1734:entfernt und nach Möglichkeit ersetzt werden]. Alternativ kann man auch das Backupmedium verschlüsseln, z.B. mit [:LUKS:]. = Installation = Das Programm kann über die "universe" Paketquellen der Ubuntu-Community bezogen werden und erhält daher '''keinen LTS Support'''. {{{#!vorlage Paketinstallation backintime-qt, universe, ab [:Focal:Ubuntu 20.04] }}} installiert Back In Time mit einer Qt-basierten Nutzeroberfläche. Weitere alternative Installationsmöglichkeiten sind in der [github:bit-team/backintime?tab=readme-ov-file#installation:Projektdokumentation] zu finden. = Anwendung = Das Programm findet man bei Ubuntu-Varianten mit einem Anwendungsmenü unter ''"Systemwerkzeuge -> Back In Time"''. Will man Ordner und Dateien sichern, für die man keine Schreibrechte besitzt (also alles außerhalb des eigenen Homeverzeichnis), muss man ''"Back In Time (root)"'' verwenden. Hier sollte man allerdings Vorsicht walten lassen, da unter Umständen Systemdateien beschädigt werden können. == Konfiguration == [[Bild(Einstellungen.png, 300, right)]] Nach dem ersten Start erscheint der Konfigurationsdialog, in dem man einige wenige Dinge einstellen muss. Hierbei können unterschiedliche Sicherungsprofile angelegt werden. Beim ersten Start wird ein Profil ''Hauptprofil'' angelegt in dem die Einstellungen gespeichert werden. So können zum Beispiel unterschiedliche Sicherungsziele in den jeweiligen Profilen definiert werden. * Unter ''"Allgemein"'' ist der Ort zu wählen, an dem die Sicherungen gespeichert werden sollen und wie oft eine automatisierte Sicherung erfolgen soll. * Über ''"Einbeziehen"'' werden die zu sichernden Verzeichnisse und Dateien ausgewählt, wobei diese im Dateisystem nicht unterhalb des Ordners, in dem gesichert wird, liegen dürfen. * Im Reiter ''"Ausschließen"'' werden Dateien oder Verzeichnisse eingetragen die von der Sicherung ausgeschlossen werden. * Der Reiter ''"Löschen & Aufbewahren"'' bietet einige Optionen zum automatischen Entfernen alter Datumskopien. * Bei Back In Time werden Rechte standardmäßig bereits gesichert. ''"Optionen"'' wie ''"Voller rsync modus"'' sind dazu nicht nötig. == Sicherung == [[Bild(Back_In_Time_jetzt.png, 200, right)]] Ein Backup (Datumskopie) wird wahlweise automatisch zu bestimmten Zeiten mittels [:Cron:] oder manuell innerhalb der grafischen Oberfläche über die Schaltfläche ''"Backup erstellen"'' erzeugt. Ferner können Backups über die Kommandozeile ausgelöst werden. Nach erfolgter Sicherung erscheint in der Zeitleiste ein Eintrag mit dem Sicherungszeitpunkt. Die enthaltenen Dateien und Verzeichnisse werden in der Sicherungsübersicht angezeigt. [:Versteckte_Dateien:] werden mit der Schaltfläche '''+''' sichtbar gemacht. == Wiederherstellung == Zum Wiederherstellen verlorener oder veränderter Dateien wird ein Backup (Datumskopie) in der Zeitleiste ausgewählt und mit der Schaltfläche ''"Wiederherstellen"'' die Datei/en in das Ursprungsverzeichnis zurück kopiert. Vorhandene Datei/en erhalten einen neuen Dateinamen '''Originaldateiname.backup.datum''', um zu vermeiden, dass eine bestehende Datei überschrieben wird. [[Bild(bit-autohost.png, 200 right)]] Grundsätzlich muss die Wiederherstellung nicht zwingend über die grafische Oberfläche erfolgen. Da in das Sicherungsverzeichnis nur geänderte Daten (inkrementell) kopiert werden, können die Dateien einzeln oder auf einmal mittels [:rsync:] oder [:cp:] bzw. mit einem Dateimanager zurück kopiert werden. Unveränderte Dateien werden als [:ln: Hardlinks] referenziert und sind somit in jedem Backup enthalten. == Zeitgesteuerte Ausführung == Wenn ein ''"Zeitplan"'' angegeben wird, legt das Programm einen [:Cron:Cronjob] an, der Backups regelmäßig zu einem bestimmten Zeitpunkt (bei täglichen Backups z.B. um 0:00 Uhr) anlegt. Ist der Rechner zu diesem Zeitpunkt ausgeschaltet, wird aber naturgemäß kein Backup angelegt. BIT nutzt ein an Anacron angelehntes Verhalten, und holt Backups nach, sobald der Rechner eingeschaltet wird (siehe [github:bit-team/backintime/blob/dev/FAQ.md#how-does-the-repeatedly-anacron-schedule-work:FAQ] {en} Eintrag). == User-Callback Skript == Unabhängig davon, ob die Datensicherung erfolgreich oder fehlerhaft abgeschlossen wurde, kann es hilfreich sein, diesbezüglich eine Meldung zu erhalten. Hierzu wird auf der BIT-Entwicklerseite ein fertiges User-Callback Skript zur Verfügung gestellt. Mit Hilfe dieses Skripts erhält man nach Abschluss der Datensicherung eine Statusmeldung. Diese Statusmeldung kann entweder als Desktop-Benachrichtigung oder per E-Mail erfolgen. Zunächst muss [github:bit-team/user-callback/blob/master/user-callback.notify:user-callback.notify] {dl} in das Verzeichnis '''~/.config/backintime/''' kopiert werden und anschließend ausführbar gemacht werden. Das Skript muss den Namen '''user-callback''' tragen. === Statusmeldung === Die Skriptzeilen, welche mit '''notify-send''' beginnen, sind für die Statusmeldung auf dem Desktop verantwortlich (siehe auch [:Benachrichtigungsdienst:]). Bevor diese Statusmeldung mit Hilfe von BIT getestet wird, kann es hilfreich sein zu testen, ob notify-send korrekt funktioniert. Diesbezüglich einfach den Befehl {{{#!vorlage Befehl notify-send "Achtung" "Hallo" }}} in einem Terminalfenster ausführen. Taucht für einige Sekunden oben rechts ein Hinweis auf, hat man die Bestätigung, dass notify-send korrekt arbeitet. Bevor der anschließende Live-Test mit BIT durchgeführt wird ist es empfehlenswert, die Zeilen im Skript, welche mit notify-send beginnen, dahingehend zu modifizieren, dass diese nicht nur für einige Sekunden, sondern permanent erhalten bleiben, bis die Meldungen mit der Maus geschlossen werden. Dazu muss die Option `--urgency low` auf `--urgency critical` geändert werden. Nachfolgend ein Beispiel: Die Skriptzeile {{{ notify-send --urgency low --icon=face-plain "BackInTime" \ }}} müsste zu {{{ notify-send --urgency critical --icon=face-plain "BackInTime" \ }}} geändert werden. === Statusmeldung per E-Mail === Damit es möglich ist, dass BIT nach abgeschlossener Datensicherung eine E-Mail zum Status versendet, muss zum einen ein Mailserver (der die Mail verschickt) und zum anderen ein Mailclient (der die Mail entgegen nimmt) installiert werden. Um das Linux-System zum [:Mailserver-Einführung:Mailserver] zu machen, muss ein MTA (Mail Transfer Agent) installiert werden. Hierfür sollte Postfix oder Exim4 verwendet werden. Um einen Mailclient zu installieren, sollte das Paket [packages:mailutils:] installiert werden. Dieses Paket enthält den Mailclient '''mail'''. mail ist mit Thunderbird zu vergleichen, allerdings für die Kommandozeile ausgelegt. Schlussendlich muss das Skript entsprechend angepasst werden, sprich es muss die entsprechende E-Mail-Adresse im Skript hinterlegt werden. Weitere Informationen und Links zu oben genannten Informationen sind in den Kommentaren des User-Callback-Skripts zu finden. = Problembehebung = == Backup kann nicht erstellt werden == Wenn sich Dateien nicht sichern lassen, erhält man nun am unteren Rand des Programmfensters von Back In Time z.B. die Meldung > "Fehler: konnte Backup 08.05.2011 10:15:00 nicht erstellen!!!" In diesem Fall kann man unter ''"Profile verwalten -> Optionen"'' den Eintrag ''"Continue on Errors (keep incomplete backups)"'' auswählen, womit man das bisherige Verhalten wieder erhält, wobei ein so erstelltes Backup dann in der Liste den Zusatz ''"(WITH ERRORS!)"'' erhält. Nun kann man sich im oberen Menü über ''"View Backup Log"'' das Protokoll anzeigen lassen und eine Suche nach Ursachen starten: Welches Verzeichnis oder welche Datei genau die Fehler verursacht und diese einfach auf die Liste der nicht zu sichernden Ordner und Dateien setzen. == Benutzerverzeichnis ist voll wegen großer Log-Datei == BIT protokolliert die Backup-Vorgänge (auf Datei-Ebene) sehr detailliert (z.B. in Datei '''~/.local/share/backintime/takesnapshot_.log'''). Wenn die betreffende Datei zu groß ist, hat das [:Homeverzeichnis:Benutzerverzeichnis] keinen freien Speicherplatz mehr. Lösungsmöglichkeiten: 1. Diese Datei im [:Dateimanager:] oder auf der [:Terminal:Kommandozeile] löschen. 1. Eine andere präventive Möglichkeit ist, die Log-Granularität einzustellen. Dazu in der Benutzeroberfläche in den Einstellungen des Profils im Reiter ''"Optionen"'' das Auswahlfeld bei ''"Log-Optionen"'' entsprechend anpassen. Diese Einstellung muss man für jedes Profil einzeln anpassen! == Warning: A backup is already running == Läuft bereits ein Backup, kommt auf der Kommandozeile die Meldung, dass bereits ein Backup durchgeführt wird. Sollte das vorherige Backup aufgrund eines Stromausfalls oder ähnlichem nicht korrekt beendet worden sein, kann es sein, dass diese Meldung angezeigt wird, obwohl definitiv kein Backup-Prozess läuft. In diesem Fall hilft es, die Datei '''worker.lock''' zu löschen: {{{#!vorlage Befehl rm ~/.local/share/backintime/worker.lock }}} == Backup auf neues Laufwerk umziehen == Wenn das Sicherungslaufwerk an seine Grenzen stößt oder einen Defekt aufweist, ist es notwendig das Sicherungslaufwerk auszutauschen. Wurde bereits über einen längeren Zeitraum regelmäßig eine inkrementelle Datensicherung mit Back In Time gemacht, möchte man diesen Datenbestand nicht verlieren. Um den Datenbestand auf das neue Laufwerk zu kopieren, müssen unbedingt die Hardlinks mitgenommen werden. Die Daten können dazu mittels [:cp:]: {{{#!vorlage Befehl cp -a QUELLE ZIEL }}} oder mittels [:rsync:]: {{{#!vorlage Befehl rsync -avH --progress QUELLE ZIEL }}} auf das neue Laufwerk kopiert werden. Anschließend wird im Programm der Speicherort des Backups auf das neue Laufwerk eingestellt. == Rechte werden nicht korrekt wiederhergestellt == Dies kann passieren, wenn der gleiche Zielordner von ''"Back In Time"'' sowie ''"Back In Time (root)"'' mit [:sudo:Root]-Rechten verwendet wurde. Abhilfe schafft das Verwenden eines gesonderten Ordners im [:sudo:Root]-Modus oder das Löschen der alten Datensicherungen in ''"Back In Time (root)"'' mit [:sudo:Root]-Rechten. = Links = == Intern == * [:Datensicherung:] {Übersicht} Grundlagen, wichtige Verzeichnisse * [:Datensicherung auf NAS:] - Datensicherung auf ein externes NAS mit Hilfe von cifs, anacron und Back In Time * [:Notfall:] {Übersicht} Was tun in Notfällen? == Extern == * [github:bit-team/backintime:Upstream Projektseite auf Microsoft GitHub] * [https://backintime.readthedocs.org/ Benutzerdokumentation] {en} * [https://github.com/bit-team/backintime/issues/1734 Linux Backup Software Guide - Timeshift & Back In Time] {en} YouTube Video (16 Min.) zu Back In Time (1.4.3) * [https://gnulinux.ch/backup-tutorial-back-in-time Backup Tutorial — Back In Time] {de} - Video (11 Min.) zu Back In Time (1.4.3) * [https://youtu.be/fLBuX72LdkI Datensicherung und -wiederherstellung auf Linux - leicht gemacht! | Back In Time] {de} - YouTube Video (17 Min.) zu Back In Time (1.2.0) * [https://heise.de/-1831759 Toolbox: Backups mit Back In Time] {de} - Artikel heise Open Source, 04/2013 * [https://web.archive.org/web/20130630091348/http://ubuntublog.ch/index.html%3Fp=11188.html EasyLinux zu Back In Time] {de} - Blogbeitrag, 02/2011 als Wayback-Link #tag: System, Sicherheit, Datensicherung, Datenträger, Synchronisation