public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Help with the prunepaths option with findutils updatedb locate
@ 2021-12-09 14:16 Keith Christian
  2021-12-09 16:12 ` Brian Inglis
  0 siblings, 1 reply; 3+ messages in thread
From: Keith Christian @ 2021-12-09 14:16 UTC (permalink / raw)
  To: cygwin

Fellow Cygwin fans,

I'm trying to keep the many directories with "OneDrive" in the
pathname out of the locatedb file, as I don't care to see them in
locate's output, nor bloat the locatedb file.

I'd appreciate any insight into the prunepaths option for the test
case below, (Line 10,) and how to tell prunepaths to ignore paths with
spaces so that the paths in Lines 5 and 6 below will not be included
in the locatedb file.


     1.   Versions:
     2.   updatedb (GNU findutils) 4.8.0
     3.   CYGWIN_NT-10.0  3.2.0(0.340/5/3) 2021-03-29 08:42 x86_64 Cygwin

     4.   Unfortunately, on this Windows 10 PC there are 650 unique
directory paths with "OneDrive" in them, and these three are the most
numerous:
     5.             /cygdrive/c/Users/corporatedroid/OneDrive - FoobarCorp/
     6.
/home/c_users_corporatedroid/corporatedroid/OneDrive - FoobarCorp/
     7.
/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/FoobarCorp/


     8.   With the one-liner below, we create a small locatedb file
(/var/locatedb_prune_test) and specify that prunepaths omit the
'/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/ListSync'
subdirectory:
     9.   ==================================
    10.       F=/var/locatedb_prune_test; echo ; updatedb
--localpaths='/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive'
--output=${F} --prunepaths='/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/ListSync'
; ls -l ${F}

    11.           -rw-r--r-- 1 corporatedroid Domain Users 26280 Dec
9 06:22 /var/locatedb_prune_test
    12.   ==================================



    13.   Here, we see that the path ending with 'ListSync'
incorrectly appears in the /var/locatedb_prune_test output despite the
prunepaths option in line 10:
    14.   ==================================
    15.       F=/var/locatedb_prune_test;locate -d${F} 'ListSync'|cat -n|tail -3
    16.           33
/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/Nucleus-2021-12-09.1317.15440.1.odl
    17.           34
/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/microsoftNucleusTelemetryCache.otc
    18.           35
/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/telemetry-dll-ramp-value.txt
    19.   ==================================

Any ideas appreciated.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Help with the prunepaths option with findutils updatedb locate
  2021-12-09 14:16 Help with the prunepaths option with findutils updatedb locate Keith Christian
@ 2021-12-09 16:12 ` Brian Inglis
  2021-12-10 13:04   ` Keith Christian
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Inglis @ 2021-12-09 16:12 UTC (permalink / raw)
  To: cygwin

On 2021-12-09 07:16, Keith Christian wrote:
> I'm trying to keep the many directories with "OneDrive" in the 
> pathname out of the locatedb file, as I don't care to see them in 
> locate's output, nor bloat the locatedb file.
> I'd appreciate any insight into the prunepaths option for the test 
> case below, (Line 10,) and how to tell prunepaths to ignore paths
> with spaces so that the paths in Lines 5 and 6 below will not be
> included in the locatedb file.

> 2. updatedb (GNU findutils) 4.8.0
> 3. CYGWIN_NT-10.0  3.2.0(0.340/5/3) 2021-03-29 08:42 x86_64 Cygwin

> 4. Unfortunately, on this Windows 10 PC there are 650 unique 
> directory paths with "OneDrive" in them, and these three are the
> most numerous:
> 5. /cygdrive/c/Users/corporatedroid/OneDrive - FoobarCorp/
> 6. /home/c_users_corporatedroid/corporatedroid/OneDrive - FoobarCorp/
> 7. /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/FoobarCorp/

> 8. With the one-liner below, we create a small locatedb file
> (/var/locatedb_prune_test) and specify that prunepaths omit the
> '/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/ListSync'
> subdirectory:

> 10. F=/var/locatedb_prune_test; echo ; updatedb
> --localpaths='/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive'
> --output=${F} --prunepaths='/cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/ListSync'; ls -l ${F}
> 11. -rw-r--r-- 1 corporatedroid Domain Users 26280 Dec 9 06:22 /var/locatedb_prune_test

> 13. Here, we see that the path ending with 'ListSync'
> incorrectly appears in the /var/locatedb_prune_test output despite the
> prunepaths option in line 10:

> 15. F=/var/locatedb_prune_test;locate -d${F} 'ListSync'|cat -n|tail -3
> 16. 33 /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/Nucleus-2021-12-09.1317.15440.1.odl
> 17. 34 /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/microsoftNucleusTelemetryCache.otc
> 18. 35 /cygdrive/c/Users/corporatedroid/AppData/Local/Microsoft/OneDrive/logs/ListSync/Business1/telemetry-dll-ramp-value.txt

> Any ideas appreciated.

Search:

https://www.mail-archive.com/search?l=cygwin%40cygwin.com&q=updatedb

e.g.

https://www.mail-archive.com/cygwin@cygwin.com/msg146142.html

for operational hints.

For info:

	$ info updatedb
	/--prunepaths=
	$ info -- find -regex

The option --prunepaths takes an argument containing a space separated 
list of find ... -regex (Basic) REs which match *complete* directory 
paths to prune from: if absolute, these start with / and end without 
one; try an argument list where USER=corporatedroid and CORP=FoobarCorp 
like for example:

"/.*[Uu]sers.*$USER.*OneDrive.* /.*[Uu]sers.*$USER.*$CORP.* 
/.*[Uu]sers.*$USER.*ListSync.* /[^[:space:]]*"

or even:

"/.*[Uu]sers.*$USER.*\(OneDrive\|$CORP\|ListSync\).* /[^[:space:]]*"

You may want to be sure those directories are mounted as --localpaths 
rather than --netpaths which have additional requirements:

$ cat /proc/filesystems
         vfat
         exfat
         ntfs
         refs
nodev   smbfs
nodev   nfs
nodev   netapp
         iso9660
         udf
nodev   csc-cache
nodev   unixfs
nodev   mvfs
nodev   cifs
nodev   nwfs
nodev   ncfsd
nodev   afs
nodev   prlfs
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,noumount,auto)
...

[Please don't post with extra spaces, step nos (use text refs instead), 
or long command lines, as many devs and some users read with mono fonts 
and short wrap margins e.g 72, 80.
You could use updatedb env vars instead of options for readability.]

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Help with the prunepaths option with findutils updatedb locate
  2021-12-09 16:12 ` Brian Inglis
@ 2021-12-10 13:04   ` Keith Christian
  0 siblings, 0 replies; 3+ messages in thread
From: Keith Christian @ 2021-12-10 13:04 UTC (permalink / raw)
  To: cygwin

Brian,

Thanks very much for the prunepaths regexes, the /proc/filesystems output,
mount command, and info and man command lines, and the suggestions for
better posting.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-10 13:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-09 14:16 Help with the prunepaths option with findutils updatedb locate Keith Christian
2021-12-09 16:12 ` Brian Inglis
2021-12-10 13:04   ` Keith Christian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).