Linux: Mit tar.gz Ordner komprimieren & bestimmte Dateien dabei ausschließen

tar gzip kompression linux

Wer ein Backup mit tar.gz eines gesamten Linux-Systems oder vielleicht nur einer Reihe von Ordnern erstellen möchte, aber hierbei bestimmte Ordner oder Dateien ausschließen möchte, der kann das mit diesem Tipp ganz einfach tun.

Man wechselt zunächst in den Ordner, den man zippen oder sichern möchte, und stellt sicher, dass man über entsprechende Berechtigungen für den Zugriff auf alle Dateien im Ordner verfügt. Wenn der Ordner beispielsweise das Rootverzeichnis / ist, benötigt man Superuser-Rechte, also darf man nicht vergessen den tar mit dem Befehl sudo auszuführen. Zunächst legt man einen eigenen Ordner für das Backup an.

mkdir backup
cd backup

Als nächstes führt man den tar-Befehl aus, um die Archiv-/Zipdatei zu erstellen. Als Parameter verwendet man die üblichen:

  • z (gzip compression)
  • c (create)
  • v (verbose)
  • f (file)

So kann man das /srv/ Verzeichnis mit allen Unterverzeichnissen komprimieren.

tar -czvf dein-dateiname.tar.gz /srv

Man kann auch den absoluten Zielpfad für das backup angeben

tar -czvf /backup/dein-dateiname.tar.gz /srv

Mit der Option –exclude kann man die auszuschließenden Ordner und/oder Dateien angeben. Hierbei können so viele –exclude Optionen angegeben werden, wie man benötigt. Dabei ist zu beachten, dass dem Pfad ein Punkt vorangestellt wird, der das Verzeichnis bezeichnet. Dies ist wichtig, da die Option zum Ausschluß mit Textmustern übereinstimmen muss, nicht mit tatsächlichen Dateinamen. Und dieses Muster beginnt mit ./ Hierbei kann man auch andere reguläre Ausdrücke verwenden. So kann man auch Platzhalter wie *.gzip verwenden, um einen beliebigen Datei- oder Ordnernamen mit der Dateiendung gzip zu finden.

Der folgende Befehl wird das Verzeichnis /srv backupen und dabei den Ordner dirA nicht in die Backup Datei einbinden. Ebenso wird er alle Dateien mit der Dateiendung gzip ausschließen.

tar --exclude='./dirA' --exclude='*.txt' -zcvf /dein-dateiname.tar.gz /srv