Find und tar, gleichzeitig Dir ausschließen

StefanA

New Member
[gelöst] Find und tar, gleichzeitig Dir ausschließen

Ich möchte per find und tar in einem Pfad und Unterverzeichnissen Dateien mit ausgewählten Endungen suchen, packen und ablegen.

Das klappt auch wunderbar:
Code:
find /var/www -type f -name '*.php' -or -name '*.html' -or -name '*.htm' -or -name '*.shtml' -or -name '*.css' -or -name '*.scss' -or -name '*.inc' -or -name '*.phtml' -or -name '*.ini' -or -name '*.js' -or -name '*.txt' | tar -cjf /pfad/archiv.bz2 --files-from -

Nun ist da aber ein Unterverzeichnis (statistics) dabei, was ich ausschließen möchte. Das klappt irgendwie nicht.

Code:
find /var/www -type f -path */statistics -prune -name '*.php' -or -name '*.html' -or -name '*.htm' -or -name '*.shtml' -or -name '*.css' -or -name '*.scss' -or -name '*.inc' -or -name '*.phtml' -or -name '*.ini' -or -name '*.js' -or -name '*.txt' -print | tar -cjf /pfad/archiv.bz2 --files-from -

*erledigt*
 
Last edited by a moderator:
Ich konnte das Problem selber lösen und meinen Aufruf noch etwas verfeinern.

Mein Fehler lag in dem Zusatz -print, der nur einmal vorhanden war, hier aber hinter jeder einzelnen Endung auftauchen muss.

Hier mein fertiger Aufruf, der nun wunderbar funktioniert:
Code:
find /var/www -type f \( -path */system/* -o -path */phpmyadmin/* -o -path */logs/* \) -prune -o -iname '*.php' -print -or -iname '*.html' -print -or -iname '*.htm' -print -or -iname '*.shtml' -print -or -iname '*.css' -print -or -iname '*.scss' -print -or -iname '*.inc' -print -or -iname '*.phtml' -print -or -iname '*.ini' -print -or -iname '*.js' -print -or -iname '*.txt' -print | tar -cjf /pfad/archiv.tar.bz2 --files-from -
 
Back
Top