如何安排任务在每个工作日(每月第一天除外)运行

如何安排任务在每个工作日(每月第一天除外)运行

如何安排任务在除每月第一天之外的每个工作日运行?

为了避免 XY 问题:我正在构建一个备份系统,该系统每月 1 日进行备份,每个工作日进行每日备份。我有三个任务运行三个程序:

  1. 每月备份 - 每月 1 日
  2. 每日备份 - 周一至周五
  3. 清除旧备份 - 每天

我保留 X 个每月备份和 Y 个每日备份。如果第 1 个备份发生在工作日,我会得到两个非常接近的备份,我想避免硬盘成本

Win 7、Win server 2008 和 Win server 2012 平台。

答案1

获取计划任务以运行批处理脚本。在其中,您可以输入

SET DATE=%DATE%
SET DAY=%DATE:0,2%

这会将环境变量 DAY 设置为日期的前两个字符,在我的系统上,格式为 dd/mm/yyyy。(显然,请先使用echo %DATE%. 检查这一点)

然后,如果 DAY 等于 01,则可以退出脚本,如果不等于 01,则运行备份程序。

相关内容