tar
tar (Tape ARchive) ist das klassische Unix-Werkzeug zum Erstellen von Archiven.
Es fasst mehrere Dateien in einer einzigen Archiv-Datei zusammen und kann dabei
optional komprimieren.
Grundlegende Optionen
Abschnitt betitelt „Grundlegende Optionen“| Option | Bedeutung |
|---|---|
-c | Archiv creieren |
-x | Archiv extrahieren |
-t | Inhalt listen |
-f DATEI | Archiv-Datei angeben (fast immer nötig) |
-v | verbose — Dateien beim Verarbeiten anzeigen |
-z | gzip-Komprimierung (.tar.gz) |
-j | bzip2-Komprimierung (.tar.bz2) |
-J | xz-Komprimierung (.tar.xz) |
-p | Dateirechte erhalten |
-C VERZ | In Verzeichnis wechseln vor dem Extrahieren |
Archive erstellen
Abschnitt betitelt „Archive erstellen“# Verzeichnis archivieren (ohne Komprimierung)tar -cf backup.tar /home/micha/
# Mit gzip-Komprimierungtar -czf backup.tar.gz /home/micha/
# Mit xz (besser, aber langsamer)tar -cJf backup.tar.xz /home/micha/
# Rechte erhalten (wichtig für System-Backups)tar -czpf backup.tar.gz /etc/Archiv-Inhalt anzeigen
Abschnitt betitelt „Archiv-Inhalt anzeigen“# Dateien auflistentar -tf backup.tar.gz
# Mit Detailstar -tvf backup.tar.gzArchive entpacken
Abschnitt betitelt „Archive entpacken“# Im aktuellen Verzeichnistar -xzf backup.tar.gz
# In ein bestimmtes Verzeichnistar -xzf backup.tar.gz -C /restore/
# Nur bestimmte Dateientar -xzf backup.tar.gz home/micha/.bashrcDateien ausschließen
Abschnitt betitelt „Dateien ausschließen“tar -czf backup.tar.gz /home/micha/ \ --exclude="*.tmp" \ --exclude="/home/micha/.cache" \ --exclude="/home/micha/Downloads"System-Backup mit tar
Abschnitt betitelt „System-Backup mit tar“Vollständiges System-Backup (außer virtuellen Dateisystemen):
sudo tar -czpf /backup/system-$(date +%Y-%m-%d).tar.gz \ --exclude=/proc \ --exclude=/sys \ --exclude=/dev \ --exclude=/run \ --exclude=/tmp \ --exclude=/backup \ /Datenbank-Backup mit tar
Abschnitt betitelt „Datenbank-Backup mit tar“Datenbanken nie einfach als Dateien kopieren — stattdessen erst einen konsistenten Dump erstellen und diesen archivieren:
# MariaDB/MySQLmysqldump -u root -p --all-databases > /tmp/db-dump.sqltar -czf /backup/db-$(date +%Y-%m-%d).tar.gz /tmp/db-dump.sqlrm /tmp/db-dump.sql
# PostgreSQLpg_dumpall -U postgres > /tmp/db-dump.sqltar -czf /backup/db-$(date +%Y-%m-%d).tar.gz /tmp/db-dump.sqlKurzreferenz
Abschnitt betitelt „Kurzreferenz“# Erstellentar -czf archiv.tar.gz verzeichnis/ # gziptar -cJf archiv.tar.xz verzeichnis/ # xz (kleiner, langsamer)
# Ansehentar -tf archiv.tar.gz # Inhalttar -tvf archiv.tar.gz # Inhalt mit Details
# Extrahierentar -xzf archiv.tar.gz # hiertar -xzf archiv.tar.gz -C /ziel/ # woanders