如何安排任务在除每月第一天之外的每个工作日运行?
为了避免 XY 问题:我正在构建一个备份系统,该系统每月 1 日进行备份,每个工作日进行每日备份。我有三个任务运行三个程序:
- 每月备份 - 每月 1 日
- 每日备份 - 周一至周五
- 清除旧备份 - 每天
我保留 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,则运行备份程序。