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 <[email protected]> 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 <[email protected]> wrote: >>>> On May 1, 2015, at 12:52 PM, Tim Dunphy <[email protected]> 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 [email protected]. >> 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 [email protected]. > 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 [email protected]. 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.
