在占位符中存储crontab子表达式
我们知道cron表(或crontab)中的项具有以下格式在占位符中存储crontab子表达式,cron,Cron,我们知道cron表(或crontab)中的项具有以下格式 # ┌───────────── minute (0 - 59) # │ ┌───────────── hour (0 - 23) # │ │ ┌───────────── day of the month (1 - 31) # │ │ │ ┌───────────── month (1 - 12) # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# * * * * * <command to execute>
或者像这样:
var wakeup=7
const wakeup=7
#define wakeup 7
或者使用类似于宏的命令,如下所示:
var wakeup=7
const wakeup=7
#define wakeup 7
这样我就可以写crontab行,如下所示:
0 wakeup * * * wakeupscript.sh
...
...
*/5 0-wakeup * * * prewakeupchecks.sh
因此,当我希望这些脚本分别在8和8之前运行,而不是在7和7之前运行时,我只需要重新定义唤醒
占位符,而不是手动更改所有行
理想情况下,占位符还应存储间隔和频率值,如
15-30
或*/20
等。据我所知,对于常见的cron实现,简单的答案是“否”
crontab文件格式非常简单,在解释它时不展开任何变量或宏。在某些实现中,可以设置环境变量以影响cron本身的行为,也可以在执行命令时将其传递给命令,但这些变量不会影响文件其他行的解释
您可以改为构建自己的宏/模板系统:
- 以自定义格式存储规则
- 编写一个脚本,将它们预处理为标准crontab格式,并将其输出到临时文件
- 使用
crontab$tempfile