find(1) -d vs -prune; /etc/periodic/daily/100.clean-disks

Jilles Tjoelker jilles at stack.nl
Wed Mar 8 14:44:09 UTC 2006


On Wed, Mar 08, 2006 at 02:21:51AM +0300, Yar Tikhiy wrote:
> On Mon, Mar 06, 2006 at 06:40:58PM +0100, Jilles Tjoelker wrote:
> > Possible solutions/workarounds:
> > 1. do still call -prune and some primaries without side effects
> >    in pre-order even if -d is in effect, even though this does not
> >    fit at all in find(1)'s design.
> > 2. document the bug and run a find -x over all local r/w filesystems
> >    in 100.clean-disks (-x and -d work together properly).
> > 
> > What would be the best way to go on?

> The property of -prune with respect to -d is already documented on the
> find(1) manpage.

Oh, didn't read that bit. Too busy reading the source code :P

> As for 100.clean-disks, I fail to see why -prune is needed there.
> One can mount a file system read-write at a directory of a read-only
> file system.  Some bullet-proof installations have their / mounted
> read-only.  Perhaps the invocation of find(1) in 100.clean-disks
> should be as follows:

> 	find / -fstype local ! -fstype rdonly \( $args \) ...

> Does it make sense?

No, as that still searches through all the NFS filesystems, so I get the
daily output mail at 4 PM or such. (The effect is the same as the
original command.)

My idea of doing a find -x over each applicable filesystem seems even
better in the light of this. It is just a little hard to get the list of
local read-write filesystems in a shell script (df -l to get the locals,
mount -p to get the read-writes, intersect these). Will look at it
later.

-- 
Jilles Tjoelker


More information about the freebsd-hackers mailing list