Windows Server 2008 计划任务中的 Robocopy 失败

Windows Server 2008 计划任务中的 Robocopy 失败

所以我有一个用于 robocopy 的批处理脚本。从命令行运行这个脚本就可以实现我想要的效果。

robocopy "D:\SQL Backup" \\server1\Backup$\daily /mir /s /copyall /log:\\lmcrfs4g\NavBackup$\robocopyLog.txt /np

然后我在 Windows Server 2008 中创建计划任务。如果我将任务设置为使用我的域管理员帐户,那就太好了。但我试图让它作为计划任务的单独域帐户运行。如果我使用该帐户,则会创建文件夹,但不会复制文件。我收到以下错误:

2011/02/17 15:41:48 错误 1307(0x0000051B)将 NTFS 安全性复制到目标目录 D:\SQL Backup\folder\ 可能未将此安全 ID 分配为此对象的所有者。

我已经验证了我的域\计划任务帐户对源和目标都具有完全控制 NTFS 权限,对我的隐藏 \server1\backup$ 共享具有完全控制共享权限。为了好玩,我尝试将域帐户添加到两台服务器上的本地管理员组。这很好用,但似乎只是为了复制文件就拥有了很多特权。有什么想法吗?

编辑以添加:

我尝试使用 robocopy \copy:DATSO 标志而不是 \copyall(我可以跳过审计信息),但仍然出现相同的错误。

我也尝试过使用 runas \noprofile \user:我的计划任务用户对于 robocopy 命令。我再次收到相同的错误。

我并不反对简单地将用户添加到内置组,尽管管理员似乎有点过头了。我很想知道其他人如何处理他们的计划任务。

答案1

用于执行复制的帐户必须具有“还原文件和目录”用户权限,才能将所有者更改为其自身或管理员以外的任何用户。

http://technet.microsoft.com/en-us/library/cc783530%28v=ws.10%29.aspx

答案2

我也遇到过这种情况。我倾向于使用 /COPY:DATSO 而不是 /copyall,后者会复制除“审计信息”之外的所有内容。

答案3

我遇到了类似的问题 - 更改为/COPY:DATS 并且不再有错误复制从 Server 2003 到 Hitachi HDI。

答案4

我在从 Server2012 R2 复制到连接到域的 Buffalo LinkStation 时遇到了麻烦。多次尝试都失败了,但 /COPY:DAT 对我来说是有效的。如果您遇到权限问题,那么您不希望在 COPY 选项标志中包含 SOU。

我的工作示例: robocopy G:\FEB2FRESH\ \\Ls220\FEB2FRESH\ /s /zb /COPY:DAT /move &pause

引用http://social.technet.microsoft.com/wiki/contents/articles/1073.robocopy-and-a-few-examples.aspx

复制选项标志:D=数据;A=属性;T=时间戳;S=NTFS 访问控制列表 (ACL);O=所有者信息;U=审核信息

相关内容