Re: File-Systeme excluden mit find

2020-12-22 Diskussionsfäden Daniel Leidert
Am Montag, dem 21.12.2020 um 22:48 +0100 schrieb Hilmar Preuße:
>
> ich will ein find so aufrufen, daß mein NFS Share nicht durchsucht wird.
> Um das ganze generisch zu machen, kommt die Pfadangabe nicht in Frage.
> Da es "find / -not -fstype nfs4 -name..." nicht gibt, wollte ich eine
> Include-Liste machen:

Klar gibt es das :)

find / -name [..deine Optionen] ! -fstype nfs4

Funktioniert hier problemlos. Du kannst dein NFS auch auf den fstype-Typ
testen:

find /pfad/zu/nfs -maxdepth 1 -printf %F

Wenn da nfs4 ausgegeben wird, sollte "! -fstype nfs4" funktionieren. Ich würde
die auschließenden Optionen an das Ende des Kommandos stellen.


HTH und Gruß, Daniel




Re: File-Systeme excluden mit find

2020-12-21 Diskussionsfäden Stefan Majewsky
On Tue Dec 22, 2020 at 12:41 AM CET, Stefan Majewsky wrote:
> On Mon Dec 21, 2020 at 10:48 PM CET, Hilmar Preuße wrote:
> > Da es "find / -not -fstype nfs4 -name..." nicht gibt
> $ find / \( ! -fstype nfs4 \) -name ...

Moin nochmal,

nach dem Abschicken fallen mir gerade noch zwei andere Sachen ein.

Erstens sollte man nicht einfach nur den Exclusion-Check machen, sondern
gleich am Mountpoint den ganzen Baum wegstreichen, damit man nicht
sinnlos durch Tausende Verzeichnisse durchrennt. Kann sein, dass find
das selber derart optimiert, aber falls nicht:

  $ find / \( -fstype nfs4 -prune \) -o \( -name ... \)

Zweitens, ganz andere Strategie: Explizit die Mountpoints der gewünschten
Partitionen als Startpunkte auflisten und Traversieren von Mountpoints
verbieten.

  $ find $(awk '$3=="ext4"||$3=="xfs"{print$2}' /proc/mounts) -xdev -name ...

Schöne Grüße
Stefan



Re: File-Systeme excluden mit find

2020-12-21 Diskussionsfäden Stefan Majewsky
Moin,

On Mon Dec 21, 2020 at 10:48 PM CET, Hilmar Preuße wrote:
> Da es "find / -not -fstype nfs4 -name..." nicht gibt

verstehe ich das richtig, dass das folgende nicht funktioniert?

  $ find / \( ! -fstype nfs4 \) -name ...

Schöne Grüße
Stefan



Re: File-Systeme excluden mit find

2020-12-21 Diskussionsfäden Andreas Stieger



On 12/21/20 10:48 PM, Hilmar Preuße wrote:

ich will ein find so aufrufen, daß mein NFS Share nicht durchsucht
wird. Um das ganze generisch zu machen, kommt die Pfadangabe nicht in
Frage. Da es "find / -not -fstype nfs4 -name..." nicht gibt



Und warum gibt es sie nicht? Sofern das fs laut mtab mit "nfs4"
eingebunden ist sollte find das ausschliessen. Wenn das nicht der
komplette Aufruf ist liegt dann dann meistens an einem -o oder anderer
aufhebender Verknuepfung.



, wollte ich eine Include-Liste machen:

find / -fstype xfs,ext2,ext3 -name...



fstype nimmt keine Liste. Mehrmals angeben und korrent logisch
verbinden. Aber siehe oben.



Aber auch dann treibt sich find im NFS herum,



Weil es kein fs "xfs,ext2,ext3" gibt.

Andreas




File-Systeme excluden mit find

2020-12-21 Diskussionsfäden Hilmar Preuße

Moin,

ich will ein find so aufrufen, daß mein NFS Share nicht durchsucht wird. 
Um das ganze generisch zu machen, kommt die Pfadangabe nicht in Frage. 
Da es "find / -not -fstype nfs4 -name..." nicht gibt, wollte ich eine 
Include-Liste machen:


find / -fstype xfs,ext2,ext3 -name...

Aber auch dann treibt sich find im NFS herum, erkennbar an den 
Fehlermeldungen, daß auf gewisse Files nicht zugegriffen werden kann.


Da der NFS-Share recht groß ist, ist das nachträgliche Parsen der 
Ergebnisse keine Option. Das ganze auf Redhat 7.


Hilmar
--
sigfault






OpenPGP_signature
Description: OpenPGP digital signature