使用Cron执行每周和每月任务

使用Cron执行每周和每月任务,cron,crontab,cronexpression,Cron,Crontab,Cronexpression,是否有一个crontab表达式允许我安排每周和每月第一次运行任务?当然,我可以把它们分成两行: 15 3 * * 1,4 execute_task_weekly 15 3 1 * * execute_task_monthly 但如果本月1日恰好与周一或周四重合,那么它将启动该任务两次。我相信我可以在我正在运行的脚本中添加一些代码,然后告诉cron每天运行,但如果可能的话,我更喜欢在cron中运行。从我们在评论中的对话中可以看出,您计划的任务似乎是双重任务——每周执行一项工作,然后在月底执行一项

是否有一个crontab表达式允许我安排每周和每月第一次运行任务?当然,我可以把它们分成两行:

15 3 * * 1,4 execute_task_weekly
15 3 1 * * execute_task_monthly

但如果本月1日恰好与周一或周四重合,那么它将启动该任务两次。我相信我可以在我正在运行的脚本中添加一些代码,然后告诉cron每天运行,但如果可能的话,我更喜欢在cron中运行。

从我们在评论中的对话中可以看出,您计划的任务似乎是双重任务——每周执行一项工作,然后在月底执行一项微妙不同的工作。出于这个原因(以及仔细检查了文档后,我认为您不能做您想做的事情),我建议您使用两个不同的任务/脚本,并在两个不同的时间运行它们。

冒着听起来有点密集的风险;为什么你想每周和每月运行一次?好问题!任务是用历史信息更新数据库表。我们需要一个月到目前为止的数据,然后在每个月底完成上个月的数据并初始化当前月份。