GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Shell-Befehl zum tar-Verzeichnis mit Ausnahme bestimmter Dateien/Ordner

Sie können mehrere Ausschlussoptionen für tar so haben

$ tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .

usw wird funktionieren. Stellen Sie sicher sicher um --exclude zu setzen vorher die Quell- und Zielelemente.


alte Frage mit vielen Antworten, aber ich fand, dass keine klar genug für mich war, also möchte ich meinen Versuch hinzufügen.

wenn Sie die folgende Struktur haben

/home/ftp/mysite/

mit folgenden Dateien/Ordnern

/home/ftp/mysite/file1
/home/ftp/mysite/file2
/home/ftp/mysite/file3
/home/ftp/mysite/folder1
/home/ftp/mysite/folder2
/home/ftp/mysite/folder3

Sie möchten also eine TAR-Datei erstellen, die alles in /home/ftp/mysite enthält (um die Site auf einen neuen Server zu verschieben), aber file3 ist nur Schrott, und alles in folder3 wird auch nicht benötigt, also überspringen wir diese beiden.

wir verwenden das Format

tar -czvf <name of tar file> <what to tar> <any excludes>

wobei c =create, z =zip und v =verbose (Sie können die Dateien sehen, während sie eingegeben werden, was nützlich ist, um sicherzustellen, dass keine der ausgeschlossenen Dateien hinzugefügt werden). und f=Datei.

mein Befehl würde also so aussehen

cd /home/ftp/
tar -czvf mysite.tar.gz mysite --exclude='file3' --exclude='folder3'

Beachten Sie, dass die ausgeschlossenen Dateien/Ordner relativ zum Stammverzeichnis Ihres tar sind (ich habe hier den vollständigen Pfad relativ zu / ausprobiert, aber ich kann das nicht zum Laufen bringen).

Ich hoffe, das hilft jemandem (und mir, wenn ich es das nächste Mal google)


Mögliche Optionen zum Ausschließen von Dateien/Verzeichnissen von der Sicherung mit tar:

Dateien mit mehreren Mustern ausschließen

tar -czf backup.tar.gz --exclude=PATTERN1 --exclude=PATTERN2 ... /path/to/backup

Schließen Sie Dateien mithilfe einer Ausschlussdatei aus, die mit einer Liste von Mustern gefüllt ist

tar -czf backup.tar.gz -X /path/to/exclude.txt /path/to/backup

Schließen Sie Dateien mit Tags aus, indem Sie eine Tag-Datei in einem beliebigen Verzeichnis platzieren, das übersprungen werden soll

tar -czf backup.tar.gz --exclude-tag-all=exclude.tag /path/to/backup

Sie können Verzeichnisse mit --exclude ausschließen für tar.

Wenn Sie alles außer /usr archivieren möchten Sie können verwenden:

tar -zcvf /all.tgz / --exclude=/usr

In Ihrem Fall vielleicht so etwas wie

tar -zcvf archive.tgz arc_dir --exclude=dir/ignore_this_dir

Linux
  1. Wie man Dateien tariert (komprimiert), bestimmte Dateien oder Verzeichnisse ausschließt

  2. [Linux] :So schließen Sie das Verzeichnis aus, wenn Sie den Shell-Befehl „tar“ verwenden

  3. Shell - Wie finde ich das Verzeichnis eines Befehls?

  4. Wie kann ich ein Verzeichnis vom Befehl ls ausschließen

  5. Wie tare ich Dateien mit einer sortierten Reihenfolge?

Linux-tar-Befehl – ​​So komprimieren Sie Dateien unter Linux

So schließen Sie ein Verzeichnis beim Suchen von Dateien in Linux aus

Wie man Dateien in Linux rekursiv auflistet

So zählen Sie Dateien im Verzeichnis unter Linux

Erste Schritte mit dem Tar-Befehl

So zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux