我正在尝试安排 LAN 上的两个专用服务器之间的文件同步。远程计算机运行的是 Windows Server 2003,而本地计算机运行的是 Windows Server 2008。
我将远程文件夹安装为 J:网络驱动器以解决任何权限问题,当我手动运行命令时,一切都按预期工作并且文件夹内容被镜像:
robocopy J:\\ C:\\Files /MIR > c:\\robocopy.log
但是,当我将它放入计划任务中时,它就会失败,返回代码为 0x10 (16),这是一个严重错误。因此我假设存在网络权限错误并尝试在两个本地文件夹之间安排操作。发生了相同的错误并且没有robocopy.log
创建输出文件。我以管理员身份运行该操作。
为什么我的计划任务失败了?
供参考的输出schtasks /query /v /fo LIST /s localhost
:
HostName: localhost
TaskName: \Sync Task
Next Run Time: 11/7/2010 3:00:00 AM
Status: Ready
Logon Mode: Interactive/Background
Last Run Time: 11/6/2010 2:49:21 PM
Last Result: 16
Author: HOST\Administrator
Task To Run: robocopy.exe "C:\\LocalFolder" "C:\\Destination" /MIR /LOG > c:\\robocopy.log
Start In: N/A
Comment: N/A
Scheduled Task State: Enabled
Idle Time: Disabled
Power Management: Stop On Battery Mode
Run As User: HOST\Administrator
Delete Task If Not Rescheduled: Enabled
Stop Task If Runs X Hours and X Mins: Disabled
Schedule: Scheduling data is not available in this format.
Schedule Type: Daily
Start Time: 3:00:00 AM
Start Date: 8/6/2010
End Date: N/A
Days: Every 1 day(s)
Months: N/A
Repeat: Every: Disabled
Repeat: Until: Time: Disabled
Repeat: Until: Duration: Disabled
Repeat: Stop If Still Running: Disabled
答案1
不要使用映射驱动器号,而是使用共享的 UNC 路径 (\\servername\sharename\folder)。这将简化事情,因为您的映射驱动器与您的会话相关联,而不一定与计划任务在其中运行的会话相关联。
接下来,确保与计划任务关联的用户可以访问该共享。
这应该可以帮你解决问题。
答案2
我最近遇到了这个问题,并通过在计划任务中勾选“以最高权限运行”解决了它。
答案3
通过在调用 robocopy 命令之前添加以下操作来解决:
net use j: \\RemoteHost\Files RemotePassword /user:RemoteUser