ar- / incron

cron-like daemon which handles filesystem events
Other
229 stars 51 forks source link

dotfiles are not excluded when using dotdirs=false #57

Open jbehrends opened 5 years ago

jbehrends commented 5 years ago

CentOS Linux release 7.6.1810 (Core) incron-0.5.12-6.el7.x86_64

Reading the documentation, it says that dotfiles/dotdirectories should be ignored when using "dotdirs=false". I have validated that dotdirectories don't trigger, but dotfiles do.

I have the following entry in /etc/incrond.d/

/some/dir IN_DELETE,IN_CLOSE_WRITE,recursive=false,dotdirs=false /usr/bin/createrepo -v --workers=8 --update /some/dir

I create a file in /some/dir:

touch test

I then get a loop that occurs because of a dotfile that is being generated as part of the command above:

Apr  9 11:08:49 myhostname incrond[165043]: ready to process filesystem events
Apr  9 11:08:56 myhostname incrond[165043]: PATH (/some/dir) FILE (test) EVENT (IN_CLOSE_WRITE)
Apr  9 11:08:56 myhostname incrond[165043]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)
Apr  9 11:08:57 myhostname incrond[165043]: PATH (/some/dir) FILE (.olddata) EVENT (IN_DELETE,IN_ISDIR)
Apr  9 11:08:57 myhostname incrond[165043]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)
Apr  9 11:08:59 myhostname incrond[165043]: PATH (/some/dir) FILE (.olddata) EVENT (IN_DELETE,IN_ISDIR)
Apr  9 11:08:59 myhostname incrond[165043]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)

I also tested this by creating a dotfile manually and it also triggered:

touch .testing123

Apr  9 11:15:19 myhostname incrond[165778]: PATH (/some/dir) FILE (.testing123) EVENT (IN_CLOSE_WRITE)
Apr  9 11:15:19 myhostname incrond[165778]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)
Apr  9 11:15:20 myhostname incrond[165778]: PATH (/some/dir) FILE (.olddata) EVENT (IN_DELETE,IN_ISDIR)
Apr  9 11:15:20 myhostname incrond[165778]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)
Apr  9 11:15:22 myhostname incrond[165778]: PATH (/some/dir) FILE (.olddata) EVENT (IN_DELETE,IN_ISDIR)
Apr  9 11:15:22 myhostname incrond[165778]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)
Apr  9 11:15:24 myhostname incrond[165778]: PATH (/some/dir) FILE (.olddata) EVENT (IN_DELETE,IN_ISDIR)
Apr  9 11:15:24 myhostname incrond[165778]: (system::common.conf) CMD (/usr/bin/createrepo -v --workers=8 --update /some/dir)

Previous version of incron I had on this system did not do this: incron-0.5.10-8.el7.x86_64