Ist es möglich eine ganze Linux Partition in ein tar zu archivieren und anschließend zu komprimieren?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Wenn du das ganze auf Dateisystemebene machen willst:

tar -c /mountpoint/der/partition | gzip -9 > /zielort/des/backups.tar.gz

Alternativ:

tar -czf /zielort/des/backups.tar.gz /mountpoint/der/partition

Da du aber von "Partition" schreibst, ergibt das ganze per tar nur bedingt Sinn.

Hier wäre eher etwas wie

dd if=/dev/sdXn bs=100M | gzip -9 > /zielort/des/backups.img.gz

passend.

Woher ich das weiß:Hobby

DNSxxx 
Beitragsersteller
 03.12.2021, 21:41

Vielen Dank für die schnelle Antwort.

Wenn ich so darüber nachdenke war wohl Partition unpassend. Evtl würde ich mit exclude sogar unwichtiges ausschließen wollen.

Glaub aus tar wäre es auch einfacher nur Teile des Packets wieder zu extrahieren oder? Beispielsweise wenn ich aus dem Backup nur bestimmte Dokumente benötige. Oder geht das mit tar nicht?

0
Zahhak  03.12.2021, 21:45
@DNSxxx
Evtl würde ich mit exclude sogar unwichtiges ausschließen wollen.

Dazu hätt ich auch ein paar Vorschläge:

  • /mnt
  • /media
  • /tmp
  • /sys
  • /proc
  • /dev
Glaub aus tar wäre es auch einfacher nur Teile des Packets wieder zu extrahieren oder?

In der Tat:

tar -xzf /dein/backup.tar.gz irgendeine/datei/im/backup.xyz

oder auch, wenn du irgendeine/datei/im/backup.xyz explizit nach /home/dnsxxx/irgendeine/datei/im/backup.xyz entpacken willst:

tar -C /home/dnsxxx -xzf /dein/backup.tar.gz irgendeine/datei/im/backup.xyz
0
DNSxxx 
Beitragsersteller
 03.12.2021, 21:51
@Zahhak

Vielen Dank nochmal. Eine Frage noch:

Sollte ich mich eher ins Thema

  • packen der tar-Datei mit | gzip

oder

  • gleich mit tar zu komprimieren (dein anfänglich 2. Beispiel)

einlesen? Also was macht bei größeren Datei-Strukturen mehr Sinn?

0
Zahhak  03.12.2021, 21:56
@DNSxxx

Im Endeffekt ist beides das gleiche.

Der einzige wirkliche Unterschied wäre der, dass man bei ersterem zum einen den Komprimierungsgrad explizit bestimmen kann (geht evtl. auch mit zweiterem, da müsst ich bzw. du mal die man-Page durchblättern ^^), zum anderen aber auch anstelle von gzip jedes beliebige andere Kompressionstool, das dazu geeignet ist, einen Datenstrom von stdin einzulesen und komprimiert nach stdout auszugeben (wenn's länger dauern darf und möglichst klein sein soll, wäre xz ein ganz hübsches Beispiel).

1
DNSxxx 
Beitragsersteller
 03.12.2021, 21:59
@Zahhak

stdout auszugeben bzw. in eine Datei zu speichern wäre mir schon wichtig. Also wäre der erste weg für mich der bessere oder?

0
Zahhak  03.12.2021, 22:03
@DNSxxx

Nein, beide sind bis auf die anderthalb erwähnten Kleinigkeiten absolut identisch.

Ob du jetzt

tar -cf foobar.tar fizzbuzz/

oder

tar -c fizzbuzz/ > foobar.tar

verwendest ist im Ergebnis exakt das gleiche. Das gilt auch, wenn du -z verwendest oder das ganze über gzip leitest.

1
DNSxxx 
Beitragsersteller
 03.12.2021, 22:22
@Zahhak

Ok vielen Dank. Das werd ich mir zu gemühte führen.

0
Von Experte guenterhalt bestätigt
tar c?f file.tar.? Quelle

Siehe man page von tar, generell gilt:

z=gzip,j=bzip2,J=xz anstelle des Fragezeichens, ferner gibt es --lzma, --lzop, --lzip, Du darfst auch --bzip anstatt j nehmen.Ferner gibt es -a (Auto compression, auf Basis des Suffix.)

Vielleicht noch generell, Du solltest Dir bei allen BAckups auf Dateibasis über die Probleme bewußt sein, die entstehen können, wenn Dateien in Benutzung sind.

Grosse tar-Archive können teils sehr lange dauern. Für deinen Anwendungsfall bzw. Backups im Allgemeinen würde ich also nicht tar nehmen. Dafür ist rsync zum Beispiel besser geeignet, auch um auf ein NAS zu schreiben.

https://wiki.ubuntuusers.de/rsync/

Woher ich das weiß:eigene Erfahrung – Nutze Linux täglich, sowohl auf Server als auch Desktop

DNSxxx 
Beitragsersteller
 03.12.2021, 21:45

Rsync ist mein momentaner Weg. Dieser funktioniert aber leider nicht einwandfrei. Musste sehr viele Abstriche machen um dies zum laufen zu bekommen. Ich kann die Rechte nicht behalten, da es auf ein CIFS Laufwerk geschrieben wird. Auch kann ich dadurch keinerlei Links mit kopieren. Für meine NTFS Partition funktioniert es einwandfrei, aber diesem Fall für Linux hab ich doch eher viele Probleme wieso ich mich nach Alternativen umschaue. Ausserdem dauert das mit rsync auch oft schon sehr lange.

0

tar ist historisch betrachtet dazu gemacht worden um ganze Partitionen auf Band (Magnetband) zu speichern.

Es geht also. Ich denke aber dass das eher unpraktisch ist. Beim komprimieren können die Daten durch Fehler kompromittiert werden.

Ich kopieren meine Datenpartition um sie zu sichern, unwichtige Daten habe ich dort nicht.

Woher ich das weiß:eigene Erfahrung