如何将 cron 作业设置为从下午到午夜每 3 小时 运行?

How do I setup a cron job to run every 3 hours from afternoon to midnight?

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

0 */3 * * * *

但我知道这是错误的,想不通。 我该怎么做?

我试过了

0 0,12,15,18,21  * * *

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

There was an error creating the event source mapping: Parameter ScheduleExpression is not valid.

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

0 0,12,15,18,21  * * *

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

0 0,12,15,18,21  * * * *

使用以下内容

0 0,12,15,18,21 * * * /path/command  

cron 每天在 00:00、12:00、15:00、18:00、21:00 运行。

基于http://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events.html

cron(0 0/3 * * * *)

应该可以解决问题。

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

0 12,15,18,21,0 * * ? *

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