我想要一个代表2010年9月6日上午6:00的cron表达式
答案 0 :(得分:24)
原始问题被标记为cron
,因此第一部分适用于此。请参阅下文,了解Quartz CronTrigger工具的更新答案。
大多数crontabs都不允许您指定年份,因此您可能必须将其放在脚本本身(或脚本/程序的包装器)中。
您可以使用以下内容执行此操作:
if [[ $(date +%Y) != 2010 ]] ; then
exit
fi
您希望在9月6日早上6点每个年运行的选项
0 6 6 9 * your_command_goes_here
| | | | |
| | | | +- any day of the week.
| | | +--- 9th month (September).
| | +----- 6th day of the month.
| +------- 6th hour of the day.
+--------- Top of the hour (minutes = 0).
对于Quartz CronTrigger格式,你会看到类似的东西:
0 0 6 6 9 ? 2010
| | | | | | |
| | | | | | +- 2010 only.
| | | | | +----- any day of the week.
| | | | +------- 9th month (September).
| | | +--------- 6th day of the month.
| | +----------- 6th hour of the day.
| +------------- Top of the hour (minutes = 0).
+--------------- Top of the minute (seconds = 0).
(详情来自here)。
答案 1 :(得分:7)
答案 2 :(得分:1)
它可能只在/ etc / crontab中如下:
0 6 6 9 * root test `/bin/date +%Y` == 2010 && <your command>