Server 2008 R2 上的 cwrsync 作为计划任务

Server 2008 R2 上的 cwrsync 作为计划任务

我有一个已设置好的 rsync(cwrsync)批处理文件,每天通过 ssh 将几个目录备份到备份服务器。

我将此批处理文件设置为作为计划任务运行,但它似乎没有运行。

如果我在登录时运行批处理文件,一切都会顺利运行,但是我无法让它作为计划任务运行。我是否登录都没有区别。事件日志中也没有列出任何错误,这表明计划任务确实执行了,但批处理文件由于某种原因没有执行。

答案1

Windows 计划任务默认以特殊系统用户身份运行(记不清确切名称了,类似于LocalSystem?),但该用户通常不具有与系统普通用户相同的环境或权限。如果不了解详细信息,很难判断您的任务到底出了什么问题,因此我仅提出一些想法。

您的批处理脚本可能访问了仅为您定义的映射驱动器号,因此当以特殊的“计划任务”用户身份运行时,脚本会失败。另一种可能性是您的脚本访问了网络共享,而我认为“计划任务”用户通常没有访问这些共享的权限。

最后,您可以尝试将批处理脚本中命令的输出重定向到文本文件。这可能很简单,只需>> C:\myscriptlogfile.txt在脚本的每一行中添加类似这样的内容即可。检查失败运行的输出可能会为您提供一些有关问题所在线索。

答案2

另一件需要检查的事情是——命令是否用引号引起来?

Server 2008 中存在一个问题,如果命令行括在引号中,计划任务将无法运行。(但我不确定 R2 中是否已修复此问题)

您通常可以通过将命令行转换为旧的 8.3 样式路径(例如 C:\progra~1\ 等)来解决此问题。

查看知识库文章了解详细信息和修补程序。

相关内容