Then make one, dear Lisa, dear Lisa, dear Lisa, ... ;-)

But bear in mind that these files are not generic. So it requires
testing for and checking the relevant version of cron o the OS
concerned. High maintenance...

On 03/04/2011 05:44 PM, Ted Zlatanov wrote:
> On Thu,  3 Mar 2011 09:49:49 +0100 (CET) mark wrote: 
> 
> n> Sorry for the delay in replying. I've been travelling, I made a cronjob 
> method in the standard library, so that adding cron is simple:
> 
> n> bundle agent test
> n> {
> n> methods:
> 
> n>   # cronjob(command,user,hours,mins)
> 
> n>   "cron" usebundle => cronjob("/bin/ls","mark","*","5,10");
> n>   "cron" usebundle => cronjob("/bin/pwd","root","*","5,10,15");
> n> }
> 
> n> etc. Hopefully this makes it simple.
> 
> I would love to see a cron_d_job that places something in /etc/cron.d
> instead.  That has the advantage (on RHEL and Debian/Ubuntu, don't know
> about the others) that no HUP to the daemon is necessary, any user can
> be specified in any of the files, and the /etc/cron.d files can be
> split up by purpose and not by user name.
> 
> Something like this, perhaps.  Note how much simpler it is than cronjob().
> 
> bundle agent cron_d_job(basename, command, user, hours, mins)
> 
>  # For adding lines to /etc/cron.d/basename crontabs for a user
>  # methods:
>  #  "crond" usebundle => cron_d_job("markcrons", "/bin/ls","mark","*","5,10");
> 
> {
> vars:
>   "crond" string => "/etc/cron.d";
> 
> files:
> 
>   "$(crond)/$(basename)" 
> 
>     comment => "General batch jobs are added to $(crond)/$(basename)",
>      create => "true",
>      edit_line => append_if_no_line("$(mins) $(hours) * * * $(user) 
> $(commands)"),
>      perms => mo("644","root");
> }
> 
> It may be good to also add cronjob_setenv and cron_d_job_setenv to set
> the general environment: PATH, MAILTO, SHELL.
> 
> This has been a concern of mine ever since the cfperl days so it's good
> to see a general way of doing it.  I would agree with Seva, however,
> that the other cron fields should be available if the user wants to
> specify them.  In a general library it makes sense to provide that even
> if cfengine can do it externally.  cfengine doesn't run frequently
> enough in some setups.
> 
> Thanks
> Ted
> _______________________________________________
> Help-cfengine mailing list
> Help-cfengine@cfengine.org
> https://cfengine.org/mailman/listinfo/help-cfengine
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to