the*_*hme 5 cron amazon-web-services amazon-cloudwatch-events
我想安排一个 CloudWatch 事件每隔一个星期一运行,并已使用以下命令开始:
0 14 ? * 2 *
目前使用上述命令,我得到了周一执行的每周时间表:
Mon, 27 Jul 2020 14:00:00 GMT
Mon, 03 Aug 2020 14:00:00 GMT
Mon, 10 Aug 2020 14:00:00 GMT
Mon, 17 Aug 2020 14:00:00 GMT
Mon, 24 Aug 2020 14:00:00 GMT
Mon, 31 Aug 2020 14:00:00 GMT
Mon, 07 Sep 2020 14:00:00 GMT
Mon, 14 Sep 2020 14:00:00 GMT
Mon, 21 Sep 2020 14:00:00 GMT
Mon, 28 Sep 2020 14:00:00 GMT
Run Code Online (Sandbox Code Playgroud)
但是,我希望将时间表设置为每隔一个星期一,例如
Mon, 27 Jul 2020 14:00:00 GMT
Mon, 10 Aug 2020 14:00:00 GMT
Mon, 24 Aug 2020 14:00:00 GMT
Mon, 07 Sep 2020 14:00:00 GMT
Mon, 21 Sep 2020 14:00:00 GMT
Run Code Online (Sandbox Code Playgroud)
我已经看到exp并#正在使用示例,但我认为 AWS CloudWatch 事件不接受这些类型的参数。
克里斯的回答是正确的。目前,我无法想到将其表达为 CloudWatch 计划事件的一部分。
不过,解决方法可能是将其设置为每周一 ( 0 14 ? * 2 *) 并触发 Lambda 函数,该函数会在触发实际目标之前检查它是在工作日还是在非工作日。
尽管这增加了一些复杂性,但这将是一个可行的解决方案。
您将无法执行任何更高级的命令(尤其是那些使用命令行中的变量的命令)。
您可以非常基本地执行此操作,但需要 2 个单独的事件才能执行此操作:
0 14 ? * 2#1 * - 在每月的第一个星期一运行。0 14 ? * 2#3 * - 在每月的第三个星期一运行。不幸的是,计划表达式没有兼容的语法来允许每隔一周的概念,因此上述命令有时可能会导致 3 周的间隔。
如果您不关心星期一,您当然可以使用0 14 1,15 * *在每个月的 1 号和 15 号(大约每 2 周)运行。
最后一个选项是每周一运行,但如果不是每隔一周运行一次,则让脚本退出,则表达式将为0 14 ? * 2 *.
计划事件页面的Cron 表达式部分提供了有关语法的更多信息。
| 归档时间: |
|
| 查看次数: |
2189 次 |
| 最近记录: |