Wie würde ich tar für die vollständige Sicherung und Wiederherstellung mit System auf SSD und Home auf HDD verwenden?

14

Wie würde ich tar für die vollständige Sicherung und Wiederherstellung mit System auf SSD und Home auf HDD verwenden?

Die vorhandenen Sicherungs- und Wiederherstellungsantworten scheinen nicht den Fall abzudecken, in dem sich Root und Home auf getrennten Geräten befinden

Baue es
quelle
Willkommen bei AU! Suchen Sie eine einmalige Sache oder eine kontinuierliche / periodische Lösung? Ist das Sicherungsziel lokal oder remote? tarkümmert sich nicht wirklich um Geräte und Mount-Punkte. Bitte bearbeiten Sie Ihren Beitrag, um die zusätzlichen Informationen aufzunehmen.
David Foerster
"Die vorhandenen Backup- und Restore-Antworten scheinen nicht den Fall abzudecken, in dem sich Root und Home auf getrennten Geräten befinden." Der Grund: Es ist eine schlechte Idee und das Erstellen von 2 Backup-Dateien ist nicht nur intelligenter, sondern auch effizienter.
Rinzwind

Antworten:

17

Es wird empfohlen, ZWEI Backups zu erstellen. 1 für / und 1 für / home, wenn sie sich auf einer anderen Partition befinden. Wenn Sie einen möchten, müssen Sie diesem einen Befehl viele Ausnahmen hinzufügen. Beispiel:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

Sichert Ihren Root und schließt ALLE gemounteten Partitionen wie / media aus (Sie möchten keine externen Geräte sichern (Sie tun dies wirklich nicht)) und Sie möchten auf keinen Fall etwas wie / dev oder / proc sichern. Und / home wechselt zu einem anderen Backup.

In der obigen Methode werden die Backups in / gespeichert. Es ist besser, es auf einem externen Datenträger zu speichern. Sie können dann ein Verzeichnis vor die Datei backup.tar.gz stellen und --exclude=...den Befehl from the 1st löschen .

  • backup.tar.gz ist das Backup.
  • Das --excludeverhindert , dass die eigentliche Sicherung backupped werden.
  • cvpzf: erstellen, ausführlich beschreiben, Berechtigungen beibehalten, komprimieren, eine Datei verwenden.

  • --one-file-system - Fügen Sie keine Dateien in ein anderes Dateisystem ein. Wenn Sie andere Dateisysteme, wie z. B. eine / home-Partition, oder externe Medien, die in / media gesichert sind, möchten, müssen Sie diese entweder separat sichern oder dieses Flag auslassen. Wenn Sie dieses Flag weglassen, müssen Sie mehrere weitere --exclude = -Argumente hinzufügen, um Dateisysteme zu vermeiden, die Sie nicht möchten. Dies wären die Verzeichnisse / proc, / sys, / mnt, / media, / run und / dev im Stammverzeichnis./ proc und / sys sind virtuelle Dateisysteme, die Fenster mit Variablen des ausgeführten Kernels bereitstellen, sodass Sie nicht versuchen möchten, diese zu sichern oder wiederherzustellen. / dev ist ein tmpfs, dessen Inhalt dynamisch von udev erstellt und gelöscht wird, sodass Sie ihn auch nicht sichern oder wiederherstellen möchten. Ebenso ist / run ein tmpfs, der Variablen über das laufende System enthält, die nicht gesichert werden müssen ( Quelle ).


Also ... wenn Sie wirklich noch einen "Einzeiler" wollen, könnte das so aussehen:

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(Ich hoffe, ich habe alles, was ausgeschlossen werden muss)


Wiederherstellung wäre

sudo su
cd /
tar xvzf backup.tar.gz

Ich habe es nicht sudovor dem Befehl tar verwendet, da Sie Fehlermeldungen bezüglich der Berechtigungen erhalten (aufgrund von Dateien, die root gehören).

Rinzwind
quelle
Ihr zweizeiliger Vorschlag hat sehr gut funktioniert, außer dass ich beim Sichern des Systems eine Nachricht erhalten habe. "/lib64/ld-linux86-64.so2 tar: /: Datei wurde beim Lesen geändert." Ist das während eines Backups normal?
Gebäude
Ja. tar informiert Sie über Änderungen an der Datei während der Sicherungsaktion dieser Datei selbst (es prüft den Status der Datei vor und nach dem Sichern). Im Allgemeinen sind diese Meldungen harmlos. Wenn Sie Ihre eigene Software / Daten haben und diese auf eine dieser Dateien bekommen, würde ich das Backup selbst neu erstellen.
Rinzwind
Standard tar komprimiert nicht, sondern fügt alles zu einer Datei zusammen (TAR = Tape ARchive). Versuchen Sie stattdessen gtar.
Alan Campbell
1
Wenn der Befehl bestimmte Verzeichnisse nicht sichern kann, muss ich sie bei der Wiederherstellung des Systems neu erstellen? Welche Vorteile hat diese Methode auch, wenn man einfach Deja-Dup verwendet?
user4493605