如何设置从下午到午夜每 3 小时运行一次的 cron 作业?

alt*_*ids 3 cron aws-lambda

我需要创建一个从中午 12 点到凌晨 12 点每 3 小时运行一次的 cron 作业,以便它在中午 12 点、下午 3 点、下午 6 点、晚上 9 点和中午 12 点运行。我有一个在 AWS Lambda 上运行的 cron 脚本,它们有 6 个用于 cron 时间的字段。我认为应该是这样的:

0 */3 * * * *
Run Code Online (Sandbox Code Playgroud)

但我知道这是错误的,无法弄清楚。我怎样才能做到这一点?

我试过了

0 0,12,15,18,21  * * *
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:http : //screencast.com/t/7tH2wnseyc

创建事件源映射时出错:参数 ScheduleExpression 无效。

Dou*_*eon 6

AWS Cloudwatch Events 目前要求在星期几或月份的时段中使用问号。这是我用来完成任务的 cron 表达式:

0 12,15,18,21,0 * * ? *
Run Code Online (Sandbox Code Playgroud)

在 Cloudwatch Events 中,您现在可以判断自己是否在正确的轨道上,因为它会在您的表达式下方显示触发日期

cron 表达式


dbo*_*als 5

根据https://en.wikipedia.org/wiki/Cron, 您可以使用逗号为给定字段创建一个列表,因此应该可以使用

0 0,12,15,18,21  * * *
Run Code Online (Sandbox Code Playgroud)

这将在整点的 12、3、6、9 和午夜运行。如果 Cron 格式需要一年,则添加另一个 *

0 0,12,15,18,21  * * * *
Run Code Online (Sandbox Code Playgroud)