CONSFIGURATOR.PROPERTY.CRON

API reference

General

Property: CRON:SYSTEM-JOB

(cron:system-job desc when user shell-command)

Installs a cronjob running SHELL-COMMAND as USER to /etc/cron.*. DESC must be unique, as it will be used as a filename for a script. WHEN is either :DAILY, WEEKLY, :MONTHLY or a string formatted according to crontab(5), e.g. 0 3 * * *.

The output of the cronjob will be mailed only if the job exits nonzero.

Property: CRON:NICE-SYSTEM-JOB

(cron:nice-system-job desc when user shell-command)

Like CRON:SYSTEM-JOB, but run the command niced and ioniced.

Property: CRON:RUNS-CONSFIGURATOR

(cron:runs-consfigurator when)

Re-execute the most recent deployment that included an application of this property, or of IMAGE-DUMPED with no arguments, using CRON:NICE-SYSTEM-JOB.

This can be useful to ensure that your system remains in a consistent state between manual deployments, and to ensure the timely application of properties modified by the PERIODIC:AT-MOST combinator.

For hosts to which this property is applied, mixing usage of DEPLOY and DEPLOY-THESE (or HOSTDEPLOY and HOSTDEPLOY-THESE, etc.) can lead to some inconsistent situations. For example, suppose you

(hostdeploy foo.example.org (additional-property))

and then later

(hostdeploy-these foo.example.org (unapplied (additional-property)).

As neither CRON:RUNS-CONFIGURATOR nor IMAGE-DUMPED with no arguments was applied since ADDITIONAL-PROPERTY was unapplied, the executable invoked by the CRON:RUNS-CONFIGURATOR cronjob will try to apply ADDITIONAL-PROPERTY again. One straightforward way to reduce the incidence of this sort of problem would be to refrain from using the ADDITIONAL-PROPERTIES argument to DEPLOY, HOSTDEPLOY etc.

You may wish to apply this property within ESEQPROPS-UNTIL; see the docstring of IMAGE-DUMPED.

Property: CRON:USER-CRONTAB-INSTALLED

(cron:user-crontab-installed env &rest jobs)

Set the contents of the current user’s crontab. ENV is like the ENV argument to RUN/MRUN, except that the environment variables will be set at the top of the generated crontab. Each of JOBS is a line for the body of the crontab. In both ENV and JOBS, the string “$HOME” is replaced with the remote home directory.