updated: | 2024 20. February |
published: | 2023 29. July |
Archiveprogramme
Daten sichern mit tar, gzip, bzip2tar - 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 -