我让任务计划程序每天晚上 11:55 启动一项任务 — — 5 台服务器上的设置相同。
昨晚我将同一项工作改为在凌晨 2 点和早上 7 点运行。
它也没有启动。我知道,因为它启动了一个 .bat 文件,该文件会将日期戳写入日志。日志不在那里。
当我转到Properties
->时History
,它会报告Task Started
,Task Completed
无论是在凌晨 2 点还是早上 7 点。
Right-click
->RUN
导致它立即运行,并且日志文件出现。
它之前每晚都在运行,所以显然所有的安全设置,“在用户注销时运行”(虽然我没有注销)等应该是正确的。
我遗漏了什么吗?
是否存在已知的任务计划程序可靠性问题?
我正在使用 Windows Server 2012 R2。谢谢。
答案1
问题出在时间戳上:
set datestamp=%date:~-4%.%date:~-10,-8%.%date:~-7,-5%_%time:~0,2%.%time:~3,2%.%time:~6,2%
echo %datestamp%
start /b "" cmd /c job_name.exe arg1 arg2 arg3 ^> nightly_%datestamp%.log 2^>^&1
在 AM 中,Windows 会在时间戳前添加一个空格:
2016.02.29_ 9.57.02
nightly_2016.02.29_ 9.57.02.log
这不能作为文件名。我通过添加一行将空格替换为下划线来更正此问题:
set datestamp=%datestamp: =_%