You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Autosys作业:日常每日一次,月末或月首末周每日三次

嘿,针对你的两个Autosys作业配置需求,我来分享下实际项目里常用的靠谱方案,都是经过验证可落地的:

问题1:配置Autosys作业每日运行一次,月末期间每日运行三次

最清晰且易维护的方式是拆分两个作业,结合Autosys的日历(Calendar)功能来区分日常和月末时段:

步骤1:创建月末专属日历

首先用autocal命令创建一个标记月末日期的日历(示例定义为每个月最后3天,你可以根据实际需求调整天数):

autocal -c end_of_month_cal -t "LAST 3 DAYS OF MONTH"

步骤2:配置日常运行作业

这个作业只在非月末日期执行,每天一次(示例时间为凌晨2点):

insert_job: daily_regular_job
job_type: CMD
command: /your/actual/script/path.sh
machine: your_target_server
start_time: 02:00
days_of_week: all
condition: !($DATE_IN(end_of_month_cal))  # 仅当不在月末日历日期时运行

步骤3:配置月末时段作业

这个作业只在月末日历日期执行,每天三次(示例时间为凌晨2点、上午10点、下午6点):

insert_job: end_of_month_peak_job
job_type: CMD
command: /your/actual/script/path.sh
machine: your_target_server
start_times: "02:00, 10:00, 18:00"
run_calendar: end_of_month_cal  # 仅在月末日历日期运行

为啥选拆分作业?

这种方式逻辑清晰,日常和月末的运行记录分开,方便监控和排查问题,比在单个作业里写复杂条件要可靠得多。


问题2:配置Autosys作业日常每日一次,当月最后一周及次月第一周每日三次

思路和问题1一致,核心还是用日历标记目标时段,拆分作业执行:

步骤1:创建目标时段日历

用autocal创建包含当月最后一周+次月第一周的日历(如果是自然周而非固定7天,可把LAST 7 DAYS改成LAST WEEK,FIRST 7 DAYS改成FIRST WEEK):

autocal -c peak_period_cal -t "LAST 7 DAYS OF MONTH" -t "FIRST 7 DAYS OF NEXT MONTH"

步骤2:配置日常运行作业

和问题1的日常作业逻辑一致,仅在非高峰时段运行:

insert_job: daily_regular_job_v2
job_type: CMD
command: /your/actual/script/path.sh
machine: your_target_server
start_time: 02:00
days_of_week: all
condition: !($DATE_IN(peak_period_cal))

步骤3:配置高峰时段作业

仅在目标时段(当月最后一周+次月第一周)每天运行三次:

insert_job: peak_period_run_job
job_type: CMD
command: /your/actual/script/path.sh
machine: your_target_server
start_times: "02:00, 10:00, 18:00"
run_calendar: peak_period_cal

额外注意点

  • 日历创建后,可用autocal -l peak_period_cal验证日期是否符合预期
  • 如果担心作业重复触发,可以在脚本里加文件锁逻辑,或者在作业条件里补充避免重叠的判断
  • 用autorep -J [jobname] -q可以快速查看作业的配置是否生效

内容的提问来源于stack exchange,提问作者Avinash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:29:16