GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Backup des Home-Verzeichnisses - Die schnelle und schmutzige Anleitung

Angenommen, Sie sind ein Linux-Benutzer. Nein, ernsthaft, sag es. OK. Nun, Sie sind ein Linux-Mensch und möchten Ihre persönlichen Daten sichern, weil es sehr wichtig ist. In der Tat ist es eine kluge Sache, einen soliden Backup-Plan zu haben. Wenn Sie im Begriff sind, ein großes System-Upgrade durchzuführen, neue Software auszuprobieren oder irgendetwas anderes, das Ihre Dateien beschädigen könnte, hilft eine Kopie der Daten dabei, unerwünschte Tränen oder Panik zu vermeiden.

Es gibt zwei Möglichkeiten, wie Sie vorgehen können. Erstens können Sie eine Art Tool wie Grsync oder Deja Dup verwenden, und das ist vollkommen in Ordnung. Zweitens können Sie Ihr eigenes kleines Skript schreiben. Normalerweise gibt es keinen Grund, sich mit letzterer Methode zu beschäftigen, aber es ist gut zu wissen, was zu tun ist, wenn es nötig ist. Heute möchte ich Ihnen zeigen, wie Sie flexible und verschlüsselte (ja, verschlüsselte) Archive Ihrer Daten erstellen können, mit Ausschlüssen und so weiter, und sie dann überall speichern können, wo Sie möchten, auf einer anderen Festplatte, einem anderen System, in der Cloud, wie auch immer. Nach mir.

Beflecken Sie Ihre Daten

Wir werden das ehrwürdige Dienstprogramm tar verwenden. Es ist auf so ziemlich jedem UNIX/Linux-Rechner verfügbar, es erfordert keine Benutzeroberfläche, um zu funktionieren, und es unterscheidet sich vom sexy und ordentlichen rsync darin, dass es Ihre Daten nicht an einen Backup-Speicherort streamt (synchronisiert). Es kann das, aber sein Hauptzweck ist die Erstellung von Datenarchiven.

Also werden wir ein lokales Archiv mit tar erstellen, mehrere Exclude-Flags verwenden, damit wir keine Daten sichern, die keine Aufbewahrung benötigen, wie temporäre Dateien, Debug-Dateien, Cache, Papierkorb und so weiter, und dann werden wir das Archiv mit einem anderen Tool verschlüsseln - gpg, damit niemand, der Zugriff auf Ihre Daten hat, aus welchen Gründen auch immer, nicht hineinschauen kann, böse, böse sie.

Werfen wir einen Blick auf die folgende Liste. Bitte beachten Sie, dass es NICHT umfassend ist und dass es viele andere Ausschlüsse in Ihrer speziellen Einrichtung geben kann. Aber es ist indikativ und konservativ, d. h. einige möglicherweise unnötige Daten werden gesichert, obwohl Sie sie sicher nicht hinzufügen könnten.

tar -cpzf Sicherungsname.tar.gz \
--exclude=Sicherungsname.tar.gz\
--exclude=.cache \
--exclude=.debug \
--exclude=.dbus \
--exclude=.gvfs \
--exclude=.local/share/gvfs-metadata \
--exclude=.local/share /Trash \
--exclude=.zuletzt-benutzt \
--exclude=.thumbnails \
--exclude=.xsession-errors \
--exclude=.Trash \
--exclude=.steam \
--exclude=Downloads \
--exclude=GitHub \
--exclude=Öffentlich \
--exclude=Steam \
--exclude=Templates \
--exclude="VirtualBox VMs" \
--warning=no-file-changed .

Was haben wir hier? Zuerst der Name des Archivs. Es kann sich auf demselben Volume befinden wie der Rest der Daten, aber dann benötigen Sie die zweite Zeile, die uns sagt, dass wir das Archiv nicht in sich selbst aufnehmen sollen (inception). Dann haben wir eine Reihe echter Ausschlüsse. Einige davon sind generisch und einige benutzerspezifisch. Die allgemeinen Ausschlüsse umfassen Daten, die hauptsächlich sitzungsbezogen oder temporär sind. Konkret (und damit meine ich allgemein):

  • .cache - wie der Name schon sagt.
  • .debug - wie der Name schon sagt.
  • .dbus - Sitzungsspezifische Daten.
  • .gvfs - sitzungsspezifische Einhängepunkte für GVFS.
  • .local/share/gvfs-metadata - Metadaten für die oben genannten.
  • .local/share/Trash - wie der Name schon sagt.
  • .recently-used - wie der Name schon sagt.
  • .thumbnails - wie der Name schon sagt.
  • .xsession-errors - sitzungsspezifische Fehler.
  • .Trash - wie der Name schon sagt.

Alle Exclude-Zeilen nach .Trash sind persönliche Außerkraftsetzungen. Zum Beispiel habe ich keine Notwendigkeit gesehen, heruntergeladene GitHub-Projekt-Repo-Daten (vielleicht haben Sie diese nicht einmal oder es interessiert Sie nicht), Steam-Sachen (wieder dasselbe) oder VirtualBox-VMs zu speichern. Ihre Liste kann natürlich beliebig viele dieser Überschreibungen enthalten, wie Sie es für richtig halten. Ich habe meine hinzugefügt, um Ihnen einen Eindruck davon zu vermitteln, wie Sie dies angehen können.

Es gibt viele andere mögliche Ausschlüsse. Diese GitHub-Liste enthält beispielsweise einige hundert Zeilen mit Ausschlüssen (für rsync gedacht, aber der Argumentation halber hier nicht anders), die Sie auch für Ihren tar-Befehl in Betracht ziehen könnten. Ich habe keine programmspezifischen Verzeichnisse im generischen Teil der Liste ausgelassen und Ihnen nur ein paar persönliche Überschreibungen gegeben. Der Rest liegt bei Ihnen, und Sie brauchen ein paar Hausaufgaben, bevor Sie fortfahren können.

Schließlich blinken wir auch Warnungen, wenn sich eine der für die Sicherung vorgesehenen Dateien ändert, und wir speichern das Archiv im aktuellen Verzeichnis (gekennzeichnet mit dem Punkt). Sie können auch an entfernten Orten oder anderen Datenträgern speichern, was auch immer angemessen erscheint. Und da dies ein Shell-Befehl ist, können Sie ihn auch skripten - und dann planen.

Verschlüsselung

Sobald das Archiv erstellt wurde, können wir es mit gpg verschlüsseln:

gpg -o Sicherungsname.tar.gz.gpg --symmetric Sicherungsname.tar.gz

Sie werden aufgefordert, ein Passwort für Ihr Archiv anzugeben. Die Quelle wird nicht gelöscht, daher können (sollten) Sie das Öffnen des Archivs testen, um sicherzustellen, dass es funktioniert und Sie sich an das Passwort erinnern. Auf Systemen, auf denen eine Desktop-Umgebung ausgeführt wird, erhalten Sie eine Fensteraufforderung:

Fehler

Beim Arbeiten mit tar können einige Fehler auftreten. Ich habe das obige Flag -v absichtlich nicht verwendet, damit nur Fehler angezeigt werden, die dann leichter zu erkennen und zu beheben sind. Einige der häufigsten Fehler, die Sie sehen werden, sind:

tar:.:Datei beim Lesen geändert
tar:Beenden mit Fehlerstatus aufgrund früherer Fehler

In diesem Fall wurde eine Datei geändert, während das Archiv erstellt wurde (z. B. eine Textdatei). Dies ist an sich kein Fehler, aber die spezifische Datei wird nicht in das Archiv aufgenommen, und der Exit-Status des tar-Befehls wird eine Art Fehlercode sein. Sie können den Fehler ignorieren oder die Erstellung des Tar-Archivs erneut ausführen. Sie können auch das Flag --ignore-failed-read verwenden, wenn Sie möchten, aber seien Sie sich bewusst, dass einige Dateien NICHT gesichert werden.

tar:./.config/.../leveldb/LOG:Öffnen nicht möglich:Zugriff verweigert
tar:./.config/.../leveldb/000010.ldb:Öffnen nicht möglich:Zugriff verweigert

Möglicherweise wird der Fehler „Berechtigung verweigert“ angezeigt. Dies rührt normalerweise von Berechtigungsproblemen her, d.h. einige Dateien in Ihrem Home-Verzeichnis sind nicht zugänglich oder gehören Ihnen nicht (Sie sind nicht der Eigentümer), sodass der tar-Befehl sie nicht in das Archiv aufnehmen kann. Sie können diese Fehler ignorieren oder Berechtigungen korrigieren:

chown "Ihr Benutzer":"Ihre Gruppe" ~/* -R

Datenwiederherstellung

Es gibt noch viel mehr, was Sie tun können. Die Ubuntu-Wiki-TAR-Seite enthält viele nützliche Informationen, einschließlich der Kombination von Backups und Wiederherstellungen über das Netzwerk, was sehr praktisch sein kann. Aber der Fokus liegt hier auf Quick 'n' Dirty, also machen wir es absichtlich nicht zu kompliziert. Zuerst müssen wir die Datei entschlüsseln:

gpg -o Sicherungsname.tar.gz -d Sicherungsname.tar.gz.gpg

Und dann können wir es extrahieren:

tar -xpzf Sicherungsname.tar.gz

Dies ist der grundlegendste Befehl zum Extrahieren von tar-Archiven. Sie können es mit der Verwendung von Zielverzeichnissen und anderen Flags kombinieren, aber in den meisten Fällen möchten Sie die Daten im Archiv möglicherweise nicht blindlings über Ihr vorhandenes System kopieren, es sei denn, Sie bauen eine neue Box.

Mehr lesen

Vergessen Sie nicht, auch Ihr System zu sichern!

Das neue und definitive CloneZilla-Tutorial

Timeshift-Rückblick – Machen wir noch einmal die Zeitreise

Schlussfolgerung

Und das war es auch schon. Ich glaube fest an Datensicherungen. Tatsächlich ist dies das Wichtigste, was Sie auf Ihren Computern üben sollten. Es ist immer nützlich, mehrere Sicherungen und mehrere Methoden zu ihrer Erstellung zu haben, da dies bei verschiedenen Nutzungsszenarien hilfreich sein kann, die Ihnen begegnen. Manchmal erledigt ein vollwertiges UI-Tool die Arbeit. In anderen Fällen wird es das rsync-Arbeitspferd sein. Und jetzt können Sie ein anderes altes, zuverlässiges Programm verwenden, und das ist tar, mit einem kleinen gpg-Twist an der Seite.

In diesem Leitfaden haben wir über allgemeine und persönliche Ausschlüsse gesprochen, wir haben die Verschlüsselung behandelt, einige häufige Fehler angesprochen, die Sie bei der Verwendung von tar treffen können (und höchstwahrscheinlich werden), und schließlich auch die Datenwiederherstellung durchgeführt, die so wichtig ist wie alles andere die anderen Schritte. Hoffentlich finden Sie die hier präsentierten Informationen nützlich. Kümmere dich um die Bytes, meine Lieben. Wir sehen uns.


Linux
  1. Eine Einführung in den vi-Editor

  2. Schnelle Verzeichnisnavigation in der Bash-Shell?

  3. Warum wurde „~“ ausgewählt, um das Home-Verzeichnis darzustellen?

  4. Wie zähle ich die Anzahl der Dateien in einem Verzeichnis und lösche die ältesten, wenn die Anzahl 5 überschreitet?

  5. Was bringt es, das Home-Verzeichnis zu verschlüsseln?

Eine Anleitung für Anfänger zum Navigieren im Linux-Dateisystem

Soll $home nicht der Ort des Home-Verzeichnisses des Benutzers sein?

Wie stellt man die Sicherung des Basisverzeichnisses in cPanel wieder her?

So migrieren Sie das HOME-Verzeichnis unter Linux

Sicherung von Synology NAS zu Glacier – Der ultimative Leitfaden

Der vollständige Leitfaden zu cPanel-Backups