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

MacOS下使用CronR按月调度R脚本异常求助:重复执行问题

解决MacOS上CronR调度每月执行的异常问题

问题根源

你遇到的问题是CronR的参数组合冲突,导致生成了不符合预期的cron表达式:

  • 当使用frequency = "monthly" + days_of_month = 'first'时,CronR可能错误地将days_of_week设为1(周一),生成的cron表达式类似5 7 1 * 1。由于cron规则中,月日和星期同时指定非*值时是逻辑或关系,所以每月1日或每周一都会触发执行。
  • 添加days_of_week = "*"后,参数组合逻辑混乱,CronR错误地将days_of_month也设为*,生成5 7 * * *,导致每日执行。

解决方案

最可靠的方式是直接指定精确的cron表达式,避免依赖frequency等自动参数组合:

  1. 先删除之前错误添加的任务(如果存在):
cron_rm(id = 'EARS')
  1. 使用cron参数传入目标表达式,添加正确的调度任务:
cron_add(
  command = cmd,
  cron = "5 7 1 * *",
  id = 'EARS',
  description = "Absence Report"
)

这个表达式的含义是:每月1日7点05分执行,不受星期几影响,完全符合你的需求。

  1. 验证任务是否正确添加:
cron_ls()

查看输出中EARS对应的cron表达式是否为5 7 1 * *。

额外说明

如果一定要使用frequency参数组合,需先通过cron_rstring预览生成的表达式,确保符合预期:

cron_rstring(frequency = "monthly", at = "07:05", days_of_month = 1, days_of_week = "*")

确认输出为5 7 1 * *后,再调用cron_add。但直接指定cron表达式的方式更不易出错,推荐优先使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:13:26