如何设置每月最后一天触发的定时工作流?现有选项存疑问
每月最后一天触发定时工作流的设置方案
当然可以设置每月最后一天触发的定时工作流,不用只能选每月28日来兼容所有月份。以下是几种靠谱的实现方式:
- 用Cron特殊语法直接设置:多数支持Cron的定时任务系统,都允许用
L表示当月最后一天。比如写0 0 L * *,就能在每月最后一天的0点自动触发,不管当月是28、29、30还是31天,系统都会自动识别最后一天执行。 - 脚本判断补位:如果你的平台没有提供直接的“每月最后一天”选项,也不用选固定日期。可以把触发日期设为每月28、29、30、31日,然后在工作流的脚本里加一段判断逻辑,只有当天是当月最后一天时,才执行核心任务。比如用Shell脚本判断:
# 判断当天是否是当月最后一天 if [ $(date +%d) -eq $(cal | awk 'NF {DAYS = $NF}; END {print DAYS}') ]; then # 这里写你的工作流执行代码 echo "执行每月最后一天的任务" fi - 别选固定28日:如果选每月28日触发,确实每个月都能执行,但非2月的月份会在28日(不是最后一天)就运行,不符合“每月最后一天”的需求。
内容的提问来源于stack exchange,提问作者Pedro Paccola
相关产品推荐
相关产品推荐

