On Saturday, November 30, 2013 2:32:22 PM UTC-6, Felix Frank wrote:
>
> On 11/25/2013 05:29 PM, John Bollinger wrote: 
> > 
> > Do all relevant cron implementations support cron.d?  Solaris?  BSD / 
> > OSX?  All Linux distros that matter?  Etc?  I don't know, but I am 
> > doubtful. 
>
> That's a good point in favor of the continued fixing of crontab provider 
> bugs. 
>
>

Here's another that I just discovered: crontab is specified by POSIX, but 
the mechanism by which crontabbed commands are executed (traditionally the 
cron daemon) is not.  Compliant implementations are required to provide a 
mechanism to execute commands from crontab entries as scheduled, but 
details not inherent in the crontab specifications are unspecified.  
/etc/cron.d falls into that "unspecified" area, but more to the point, 
'crontab' is the standard interface for scheduling periodic jobs.


> > What about systems that use other user databases, either instead of or 
> > > in addition to /etc/password?  For example, LDAP or NIS or even 
> winbind? 
> ... 
> > 2. Add logic to enumerate actual crontabs. This would be somewhat ugly, 
> > because it's quite different from the current paradigm of "work with 
> > usernames only and access the crontab files through the crontab 
> interface". 
>
> I've put some more thought into this and I think this general approach 
> should be pursued after all. 
>
> My initial sketch is flawed in two ways: 
> 1. As John pointed out, Etc.passwd cannot reliably expected to yield all 
> applicable users. 
> 2. Blindly adding targets to a Parsedfile provider feels like a dirty 
> hack. 
>
> Instead, I will go ahead and try to allow the crontab provider to 
> facilitate the generation of additional cron resources by scanning the 
> file system. This will require some platform specific code for detecting 
> crontab files depending on the environment. I feel that this would be an 
> acceptable thing to do, because a similar logic already selects the 
> correct crontab (1) interface to use. 
>


I think that is consistent with Puppet's general approach.

For what it's worth, POSIX specifies that crontabs are stored in 
/var/spool, though it does not appear to specify exactly where therein, or 
what file names are used.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" 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-dev/8ca96e89-5a95-402e-8580-776e3b9acfa5%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to