Also you could consider wrapping these in a flock to prevent actions piling up behind each other - like described here: http://www.elevatedcode.com/2013/05/07/flock-for-cron-jobs.html
Many other examples on the net. Den On 2 May 2015, at 04:15, Tim Dunphy <bluethu...@gmail.com> wrote: >> In addition to Peter's excellent catch of the scheduling issue, depending on >> how many files you have in /var/www and how much other contention there is >> for disk I/O, your find commands could simply be getting bogged down >> traversing the directory tree. They are pretty inefficient, as written, so >> you should optimize them to minimize their impact. >> >> Instead of this command, which will run one chmod command for each matching >> file, >> >> /bin/find /var/www -type f -exec chmod -v 664 {} \; >> >> consider using the following command, which will exclude files that already >> have the correct permissions and will batch the found files into a single >> chmod command (note the plus sign instead of a semicolon): >> >> /bin/find /var/www -type f ! -perm 0644 -exec chmod -v 644 {} + >> >> The directory chmod command would look pretty much the same: >> >> /bin/find /var/www -type d ! -perm 0775 -exec chmod -v 775 {} + > > > That's some pretty wonderful advice! I'll admit that my use of the find > command may not have been that sophisticated. But I think you're example will > help me with a better approach that I hope to learn from! > > Thanks! > > Tim > > On Fri, May 1, 2015 at 1:06 PM, Peter Bukowinski <pmb...@gmail.com> wrote: >>>> On May 1, 2015, at 12:52 PM, Tim Dunphy <bluethu...@gmail.com> wrote: >>>> >>>> This isn't really a Puppet problem, but regardless: >>>> Those cron entries are for "every minute during the zeroth hour". So at >>>> 00:00 it will run, then at 00:01, then 00:02, and so >>>> on all the way to 00:59, then will stop until 00:00 the next day. >>>> Therefore, if the chmod/chown processes take more than 1 minute to run, >>>> they will stack up during that period of time. >>>> The entry you want is "0 0 * * *" -- that will run exactly once, at 00:00 >>>> each day. In your manifest, you can express this with "hour => 0, minute >>>> => 0,". >>> >>> Ok got it! I've corrected it and this is what I have now: >>> >>> cron { "apache-chown": >>> command => "/bin/chown -R apache:ftpgroup /var/www", >>> user => 'root', >>> hour => 0, >>> minute => '0' >>> } >>> >>> cron { "chmod-files": >>> command => "/bin/find /var/www -type f -exec chmod -v 664 {} \;", >>> user => 'root', >>> hour => 0, >>> minute => '0' >>> } >>> >>> cron { "chmod-directories": >>> command => "/bin/find /var/www -type d -exec chmod -v 775 {} \;", >>> user => 'root', >>> hour => 0, >>> minute => '0' >>> } >>> >>> Thanks for your input! >>> >>> Tim >> >> In addition to Peter's excellent catch of the scheduling issue, depending on >> how many files you have in /var/www and how much other contention there is >> for disk I/O, your find commands could simply be getting bogged down >> traversing the directory tree. They are pretty inefficient, as written, so >> you should optimize them to minimize their impact. >> >> Instead of this command, which will run one chmod command for each matching >> file, >> >> /bin/find /var/www -type f -exec chmod -v 664 {} \; >> >> consider using the following command, which will exclude files that already >> have the correct permissions and will batch the found files into a single >> chmod command (note the plus sign instead of a semicolon): >> >> /bin/find /var/www -type f ! -perm 0644 -exec chmod -v 644 {} + >> >> The directory chmod command would look pretty much the same: >> >> /bin/find /var/www -type d ! -perm 0775 -exec chmod -v 775 {} + >> >> -- >> Peter Bukowinski >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to puppet-users+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/CB45AA5E-A8C1-4422-BA4E-2B8D8FEBB7F4%40gmail.com. >> >> For more options, visit https://groups.google.com/d/optout. > > > > -- > GPG me!! > > gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to puppet-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/CAOZy0emPCpHn1pdU_-38W5AMO-%2B%2BXVdOmsUpHMwdw%3DEUF74Ggg%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/BFC6B10A-FE5A-4254-ADD8-27A6816E0649%40gmail.com. For more options, visit https://groups.google.com/d/optout.