Back In Time
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 24.04 Noble Numbat
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Back In Time 🇬🇧 (BIT) ist eine ursprünglich von Dan Oprea entwickelte Backup-Anwendung, die dem Programm Time Machine ähnelt und ebenso von 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 Hardlinks-Feature von rsync. Eine unveränderte Datei benötigt hiermit nur einmal Speicherplatz auf der Festplatte (auch wenn sie Teil vieler Snapshots ist). Dagegen wird eine veränderte Datei immer komplett neu gesichert. Snapshots von großen veränderlichen Dateien (z.B. virtuelle Festplatten) nehmen also viel Backup-Platz in Anspruch, wenn sie nicht vom Snapshot 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 EncFS zu verschlüsseln. Aufgrund von bekannten Sicherheitsproblemen wird EncFS auf absehbare Zeit 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.
backintime-qt (universe, ab Ubuntu 20.04)
Befehl zum Installieren der Pakete:
sudo apt-get install backintime-qt
Oder mit apturl installieren, Link: apt://backintime-qt
installiert Back In Time mit einer Qt-basierten Nutzeroberfläche.
PPA¶
Hinweis:
Die PPAs werden nicht regelmäßig gepflegt und können daher veraltete Versionen bzw. Fehler enthalten.
Adresszeile zum Hinzufügen des PPAs:
ppa:bit-team/stable
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams bit-team zu entnehmen.
Weitere alternative Installationsmöglichkeiten sind in der 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¶
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 "Hinzufügen" 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 "Automatisches Entfernen" 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¶
Ein Snapshot (Datumskopie) wird wahlweise automatisch zu bestimmten Zeiten mittels Cron oder manuell innerhalb der grafischen Oberfläche über die Schaltfläche "Snapshot erstellen" erzeugt. Ferner können Snapshots ü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 Snapshot (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.
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 Hardlinks referenziert und sind somit in jedem Snapshot enthalten.
Zeitgesteuerte Ausführung¶
Wenn ein "Zeitplan" angegeben wird, legt das Programm einen 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 FAQ 🇬🇧 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 user-callback.notify ⮷ 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
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 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 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¶
Ältere BIT Versionen starten nicht unter Ubuntu 22.04¶
In Verbindung mit Python 3.10 gibt es das Problem, dass ältere Versionen von BIT nicht starten. In der offiziellen Upstream-Version von BIT ist das Problem behoben.
Snapshot 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 Snapshot 08.05.2011 10:15:00 nicht erstellen!!!"
In diesem Fall kann man unter "Settings → Options" den Eintrag "Continue on Errors (keep incomplete Snapshots)" auswählen, womit man das bisherige Verhalten wieder erhält, wobei ein so erstellter Snapshot dann in der Liste den Zusatz "(WITH ERRORS!)" erhält. Nun kann man sich im oberen Menü über "View Snapshot 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 Benutzerverzeichnis keinen freien Speicherplatz mehr.
Lösungsmöglichkeiten:
Diese Datei im Dateimanager oder auf der Kommandozeile löschen.
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!
Es ist in der Benutzer-Oberfläche nicht möglich, das Verzeichnis der Log-Datei zu ändern (siehe Issue #174), um es z.B. auf ein anderes/größeres Laufwerk zu verschieben.
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:
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:
cp -a QUELLE ZIEL
oder mittels rsync:
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 Root-Rechten verwendet wurde. Abhilfe schafft das Verwenden eines gesonderten Ordners im Root-Modus oder das Löschen der alten Datensicherungen in "Back In Time (root)" mit Root-Rechten.
Links¶
Intern¶
Datensicherung Grundlagen, wichtige Verzeichnisse
Datensicherung auf NAS - Datensicherung auf ein externes NAS mit Hilfe von cifs, anacron und Back In Time
Notfall Was tun in Notfällen?
Extern¶
Linux Backup Software Guide - Timeshift & Back In Time 🇬🇧 YouTube Video (16 Min.) zu Back In Time (1.4.3)
Backup Tutorial — Back In Time 🇩🇪 - Video (11 Min.) zu Back In Time (1.4.3)
Datensicherung und -wiederherstellung auf Linux - leicht gemacht! | Back In Time 🇩🇪 - YouTube Video (17 Min.) zu Back In Time (1.2.0)
Toolbox: Backups mit Back In Time 🇩🇪 - Artikel heise Open Source, 04/2013
EasyLinux zu Back In Time 🇩🇪 - Blogbeitrag, 02/2011 als Wayback-Link