updated:  2024 20. February
published:  2023 29. July

Archiveprogramme

Daten sichern mit tar, gzip, bzip2

tar - Tape Archive


 tar -cf archivname.tar Verzeichnis/Datei

 Optionen: 
 -c      create
 -x      extract
 -f      filename ist immer die letzte Option vor Dateinamen z.B. -tvzf Datei.tar.gz
 -t      Inhalt ansehen
 -P      führende "/" erhalten
 -p      Zugriffsrechte beim Auspacken erhalten
 -l      nur Daten auf der lokalen Platte speichern (also keine gemounteten Lfwk oder Partitionen)
 -r      datei hinzufügen
 -S      löschrige Dateien effizient behandeln
 -s      zu entpackende Dateien wie im Archiv sortieren

 Packeroptionen:
 -j | --bzip2	packen mit bzip2
 -J | --xz	packen mit xz
 -z | --gzip	packen mit gzip

 Sonstige:
 --backup=t      anlegen einer Sicherungskopie mit *.~1~
 --suffix=tralal anlegen einer Sicherungskopie mit *tralal
 --preserve      Berechtigungen bleiben erhalten (wie -p und -s zusammen)
 --same-owner    Eigentümer beim Auspacken erhalten

 --exclude=/tralal       Verzeichnis auslassen
 --exclude=*.log         Alle Verzeichnisse und Dateien mit .log auslassen 
 --exclude=*.log[0-9]    Alle Verzeichnisse und Dateien mit .log0 .log1 .log2 ... auslassen 
 --exclude=/tral*/*      Verzeichnissnamen erhalten
 --ignore-case           Ignoriert Groß- und Kleinbuchstaben bei exclude
 --ignore-failed-read    Umwandlung von Fehler in Warnung
   

Verzeichnis packen (Backup)


 tar --exclude=./Path1 --exclude=./File2 -cvpPl --bzip2 -f ./Downloads.tar.bz2 ./Downloads   
   

Tipp: Packen mit Multithread

Das entsprechende Kompressionsprogramm gzip, bzip2 oder xz kann, wenn es als Multithreadversion installiert ist, den gesamten Archivierungs- und Packprozess beschleunigen.


 tar -I pbzip2 ... // für *.bz2
 tar -I pigz   ... // für *.gz
   

Komplettes Linuxsystem kopieren


 # Alte und neue Festplatte bzw. Partition einhängen und wechseln nach OLD
 mount /dev/hda1 /mnt/OLD
 mount /dev/hdd5 /mnt/NEW

 # Kopieren mit tar 
 tar -cSp --numeric-owner -f - /mnt/OLD/ | ( cd /mnt/NEW && tar xSpvf - )

 # oder direkt vom Verzeichnis
 cd /mnt/OLD
 tar -cSp --numeric-owner -f - . | ( cd /mnt/NEW && tar xSpvf - )
   

Einzelne Datei aus tar-Archiv holen


 # Archiveinhalt ausgeben
 tar -tvzf file.tar.gz 

 # Datei von Archive kopieren
 tar -xzf  file.tar.gz ./Path-zu-entpackende/Datei
   

Multiarchive mit tar und split


 # Packen
 tar  -cvzf - Verzeichnis/ | split --bytes=500MB - ./gepackt/datei.tar.gz.

 # Packen mit exlcude
 tar --exclude=/Verz01 --exlcude=/Verz02 -cvzf - Verzeichnis/ | split --bytes=500MB - ./gepackt/datei.tar.gz.

 # Entpacken
 cat datei.tar.gz.* | tar -xvzf -
   
Stichworte (tags)