spring 特定日期的Cron表达式

jgovgodb  于 2023-02-21  发布在  Spring
关注(0)|答案(4)|浏览(202)

我需要一个表示2010年9月6日上午6:00的cron表达式

kninwzqo

kninwzqo1#

最初的问题被标记为cron,因此第一部分适用于该问题。有关Quartz CronTrigger工具的更新答案,请参见下文。
大多数crontab不允许指定年份,因此您可能必须将其放在脚本本身(或脚本/程序的 Package 器)中。
你可以这样做:

# Only run in 2010.
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.
└───────── Start 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.
│ └───────────── Start of the hour (minutes = 0).
└─────────────── Start of the minute (seconds = 0).
p1iqtdky

p1iqtdky2#

对于一次性作业,'at'命令比cron更适合。

at -f filename 06:00 09/06/2010
qnakjoqk

qnakjoqk3#

它只能通过以下方式位于/etc/crontab中:

0 6 6 9 * root test `/bin/date +%Y` == 2010 && <your command>
mrfwxfqh

mrfwxfqh4#

这对你有帮助。

At 02:30:00am, on the 23rd day, in April, in 2024

https://www.freeformatter.com/cron-expression-generator-quartz.html

相关问题