软件吧
登录注册账号
/posts/robocopy-win10-microsoft-windows-taskscheduler-o
电脑必备

任务计划程序跑定时备份,我掐表发现延迟启动那五分钟是坑

极客阿凯 88 0 13

最近在折腾自动备份,拿任务计划程序写了个每天凌晨两点跑 robocopy 的脚本,本来觉得挺稳,结果上周查日志发现三次备份都拖到两点零五分之后才启动,有一次直接没跑成。我这人见不得这种没头没尾的事,直接开查。

问题复现

先在自己主力机上复现:触发器设的是「每天 2:00」,勾了「如果错过计划开始时间,尽快启动任务」,条件里「只有在计算机使用交流电源时才启动」没勾,但「唤醒计算机运行此任务」勾了。结果电池模式下它压根不跑,插上电才补跑,晚了 5 分钟。

换第二台笔记本(同样 Win10 22H2)测试,取消唤醒选项、电源条件全放开,延迟消失,但脚本里的网络映射盘没挂上,备份写到了本地 C 盘。

第三台是台式机,挂在公司域里,组策略把「任务计划程序」的「允许按需启动」给禁了,手动跑都弹权限错误。

日志审计

把任务计划程序的事件日志(Microsoft-Windows-TaskScheduler/Operational)导出来对时间戳,才发现三个坑:

  1. 电源条件优先级高于「尽快启动」,电池下直接跳过,等下次唤醒才补跑;
  2. 网络盘映射在任务上下文里是空的,除非用 UNC 路径或者延迟 30 秒等网络就绪;
  3. 组策略的「按需启动」如果被禁,触发器到点也不执行。

我的手动控制方案

  • 触发器改成「启动时」+「每天」,两个都挂上,启动时延迟 1 分钟;
  • 条件页把「只有在计算机使用交流电源时才启动」取消,唤醒也取消;
  • 操作里直接用 UNC 路径 \\NAS\backup,不用映射盘;
  • 脚本第一行加 timeout /t 30 等网络栈;
  • 最后在事件查看器里盯了三天,启动时间稳定在 2:00:32 左右,误差可接受。

对比自动优化工具

软领这类工具确实有「自动优化任务计划」的选项,一键把可疑任务禁用,省事。但我更想自己控制每个触发器的条件分支,所以只拿它当参考,手动逐条改。它没广告这点我认,但自动改触发器这事我不太放心,还是自己掐表对日志实在。

抛个问题

你们用任务计划程序跑定时任务时,有没有遇到过「到点不跑,过几分钟才补跑」的情况?尤其是笔记本电池模式下,你们是怎么处理电源条件那块的?

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。