The caldelay program

This command is obsolete; it is no longer included in the current version.
caldelay program [arg ...]

caldelay increases $DELAY as necessary so that the current time plus $DELAY seconds will match the description of a calendar time given by certain environment variables, and then runs the given command. If $DELAY is not set, this is interpreted as an indefinite delay, and caldelay leaves it unset. Controlling environment variables include $YEAR, $MONTH, $MONTHDAY, $WEEKDAY, $HOUR, $MINUTE, and $SECOND. All are optional. Each one that is specified is a list of constraints. All calendar times that satisfy at least one constraint for each time unit are considered to be matches. Each constraint must take one of the following forms (otherwise, caldelay exits with an error):

Note that /0 is equivalent to =0, because zero is divisible by itself.

If a variable is not set in the environment, or is set to an empty string, the default depends on which others are set. If any larger unit is set, then the default is =0; otherwise, the default is /1. For example, if $HOUR is set and no others are, then $YEAR, $MONTH, $MONTHDAY, and $WEEKDAY default to /1 (i.e., no restrictions), and $MINUTE and $SECOND default to =0. Thus $DELAY will be the number of seconds until the next occurrence of the beginning of the given hour.

Caveats