标签: robocopy

Windows Server 2008 计划任务的 Robocopy 失败

所以我有一个用于 robocopy 的批处理脚本。从命令行运行它正是我想要的。

robocopy "D:\SQL Backup" \\server1\Backup$\daily /mir /s /copyall /log:\\lmcrfs4g\NavBackup$\robocopyLog.txt /np
Run Code Online (Sandbox Code Playgroud)

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

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

我已验证我的域\计划任务帐户在源和目标上都具有完全控制 NTFS 权限,并且在我隐藏的 \server1\backup$ 共享上具有完全控制共享。只是为了傻笑,我尝试将域帐户添加到两台服务器上的本地管理员组。这工作正常,但似乎只是复制文件有很多特权。关于我缺少什么的任何想法?

编辑添加:

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

我还尝试使用 runas \noprofile \user: my Scheduled Tasks 用户来执行 robocopy 命令。我再次收到同样的错误。

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

scheduled-task robocopy

6
推荐指数
1
解决办法
2万
查看次数

如何在 Windows XP 上复制连接点?

我尝试了几种不同的工具,以便能够在 Windows XP 上复制连接点,但没有一个将连接点复制为连接点。到目前为止,我尝试过的所有程序都在创建目录而不是连接点。我已经测试了 W2k3 资源工具包中的 RichCopy、SuperCopier 和 Robocopy。我知道有一个新版本的 Robocopy,它有符号链接的 /SL 选项,但这个版本似乎不适用于 XP。有什么替代方法吗?

windows-xp robocopy copying junction-points

6
推荐指数
1
解决办法
3304
查看次数

Robocopy - 从子目录中的清除中排除特定文件

我想在仍然执行清除的同时排除特定文件被删除。特定文件位于源中不存在的子目录中。

来源:

folder1\
    file1.txt
Run Code Online (Sandbox Code Playgroud)

目的地:

folder1\
    file1.txt
    folder2\
        dontdelete.txt
        delete.txt
Run Code Online (Sandbox Code Playgroud)

如果我使用:

Robocopy C:\Source C:\Destination /e /purge /xf dontdelete.txt
Run Code Online (Sandbox Code Playgroud)

然后 Robocopy 将删除包含该文件的 folder2\,因此本质上仍然删除 dontdelete.txt 文件。

Source : C:\Source\
Dest : C:\Destination\
Files : *.*     
Exc Files : dontdelete.txt      
Options : *.* /V /L /S /E /DCOPY:DA /COPY:DAT /PURGE /R:1000000 /W:30 
----------------------------------------------------------------------------
                   0    C:\Source\
                   1    C:\Source\folder1\
*EXTRA Dir        -1    C:\Destination\folder1\folder2\
  *EXTRA File              0    delete.txt
  *EXTRA File              0    dontdelete.txt
          same             0    file1.txt
Run Code Online (Sandbox Code Playgroud)

如果我使用:

Robocopy C:\Source C:\Destination /e /purge /xd folder2 /xf dontdelete.txt
Run Code Online (Sandbox Code Playgroud)

然后 …

robocopy

6
推荐指数
1
解决办法
2419
查看次数

RoboCopy 失败并显示“指定的网络名称不再可用”

我们有一个计划任务,它会定期运行 robocopy,以将相当大的文件夹结构从一台服务器镜像到另一台服务器(数千个文件夹、100,000 多个文件、50+ GB 大小)。在存储镜像的接收服务器上有一个共享。我们正在从连接到接收端共享的源服务器运行任务。两台服务器都运行 Windows Server 2003 并连接到同一网络交换机 (100Mbps)。

该过程有时会完全无误地完成。然而,通常情况下,在此过程中的某个时刻(似乎是随机的),robocopy 将失败并显示错误The specified network name is no longer available. 它将等待 30 秒并再次尝试该文件并最终在多次重试后放弃。过程将在下一个计划间隔重复,并且可能完成...或不完成。

发生这种情况时,在长达 30 分钟的时间内,我根本无法从网络上的任何地方访问目标服务器上的共享。网络上没有其他任何东西使用此共享。

我的问题是这个错误具体是什么意思?为什么共享“下降”并变得无法访问?有没有办法阻止它并使文件镜像更稳定?

robocopy network-share

5
推荐指数
1
解决办法
2万
查看次数

使用 robocopy 将多个文件夹复制到一个目的地

我正在寻找使用 robocopy 将多个文件夹从目录复制到远程网络共享的解决方案。我想从包含数百个我不感兴趣的文件夹的目录中选择几个文件夹。我想使用正则表达式在 linux 中执行类似于 scp 的操作,但这在 robocopy 中不起作用:

c:\robocopy "c:\results\1319_TC1.*" "\\datastore\somefolder\"
Run Code Online (Sandbox Code Playgroud)

powershell robocopy regex scp

5
推荐指数
1
解决办法
4万
查看次数

Robocopy,不要覆盖现有文件,而是复制更改/新文件

是否可以在不使用新的/更改的/删除的文件覆盖目标目录中的文件的情况下镜像两个目录。类似于快照的东西。

示例:将包含所有文件和子目录的源目录复制到目标目录,但如果目标目录包含例如文件A.xls并且A.xls在源目录中已更改,则复制A.xlsA在目标目录中保留前一个。要保留以前的文件,可以将日期戳或计数器添加到文件名中。

复制后的示例:
SomeDirectory
|--A.xls
|--A_20120701.xls
|--A_20120920.xls

谢谢你。

windows backup robocopy snapshot

5
推荐指数
1
解决办法
3万
查看次数

为什么 robocopy 导致我的 Windows 2012 服务器昨晚挂了?

我正在停用旧的 2003 服务器,它充当文件服务器,我只是尝试将文件存储库迁移到新的 Windows Storage Server 2012 机器上。我正在使用 robocopy 来复制文件,目前只是在进行一些测试运行以查看在我们进行最终更改之前需要多长时间。

我第一次运行 robocopy 时,我提供了以下开关:选项:/S /E /COPYALL /PURGE /MIR /MT:128 /R:100000 /W:30 它运行良好(虽然我不推荐 /r 和 /w 开关,因为它需要永远完成!)我第二次使用以下开关运行它(目标目录已经包含我第一次运行时源目标的副本,/MIR 将确保它已更新): Options : /S /E /COPYALL /PURGE /MIR /MT:128 /R:0 /W:0

这导致服务器在作业开始后大约 5 分钟挂起。它完全挂了,我不得不手动重启它才能重新启动它。日志并没有给我一个关于出了什么问题的巨大指示 - 想法是 /mt:128 引起了问题,但我第一次提供了那个开关,这很好。

第二次我将几个开关更改为 /r:0 和 /w:0,尽管我不认为它们会导致它挂起。

最后是我选择的 /MIR 有问题,因为目标之前已经从源复制了一次 - 我不会这么想,因为我认为镜像的唯一潜在缺点是它会删除文件不再在源中的目标。如果有人可以阐明出了什么问题,它将确保下次我尝试时不会出错。

编辑:我上面提到的开关取自 robocopy 日志文件,从某种意义上说,它们是我指定的开关的解释,它们是: /MIR /COPY:DATSOU /MT:128 /R /W

第二次编辑:有问题的服务器有一个双 NIC,使用 Windows Server 内置的 NIC 组合进行组合。我觉得这是重要的信息,我最初发布问题时没有分享。想调查这个。有问题的 NIC 是 Intel(R) 82574L 千兆网络连接。NIC 团队是“Microsoft 网络适配器多路复用器驱动程序”。

storage nic robocopy windows-server-2012

5
推荐指数
1
解决办法
9682
查看次数

漫游配置文件权限和迁移

目前作为 2003 DC 的客户端,我们正在将它们迁移到 2012 Hyper-V 主机上的 2008R2。他们有一些漫游配置文件 - 但使用通常的设置 - 即实际漫游配置文件文件夹的唯一权限,即 username.v2 是 SYSTEM(完全控制)和实际用户(完全控制) - 我必须将所有权作为admin 来实际查看这些权限。基本上按照:

http://technet.microsoft.com/en-us/library/cc737633(WS.10).aspx

我如何迁移这些,因为我没有管理员权限,我可以直接执行 robocopy,然后将 AD 中的 Profile location 属性重新指向新位置吗?(显然是在新服务器上配置文件夹的共享权限)

active-directory robocopy roaming-profile windows-server-2008-r2

5
推荐指数
1
解决办法
3243
查看次数

来自 list.txt 的 Robocopy

我有大量用户目录,我需要将它们连同权限一起移动到另一个位置,我单独使用的命令是:

robocopy "\filer\home" "h:\UserHome" /E /SEC /Copy:DATSOU /log:c:\logfile.txt

有没有一种方法可以让 robocopy 指向测试文件中需要移动的目录列表,而不是像我目前所做的那样一个一个地进行。

windows robocopy

5
推荐指数
1
解决办法
7796
查看次数

会影响复制速度的服务器操作系统或 PowerShell 版本差异?

我最近在 2 个不同的位置移动了很多很多文件。它是完全相同的数据集,使用相同的 robocopy 命令,但在我们总部的 Windows Server 2012 R2 上花费不到 30 分钟(使用 PowerShell v4)在 Windows Server 2008 R2 SP 1(PowerShell v2)上花费了大约 15 小时) 在我们 ISP 的服务器中心。两台服务器中的后者实际上有更多的 RAM 和 CPU(实际上是后者的两倍:512 GB 内存,64 核)。

两个任务之间唯一的另一个明显的硬件差异(对我而言)是在 2012 服务器上我将数据从本地磁盘移动到 SAN 卷,而在 2008 R2 服务器上它是跨 SAN(从 LUN 到 LUN)。我不认为这是罪魁祸首,因为源卷和目标卷之间的 iSCSI 带宽在每台机器上都是相同的。

也许我遗漏了一些东西,所以我想把它放在这里,看看你们都有什么见解。

powershell robocopy file-transfer windows-server-2008-r2 windows-server-2012-r2

5
推荐指数
1
解决办法
96
查看次数