我的用户目录大小为 58 GB,我正在使用Robocopy从 Windows 恢复将其复制到便携式 USB 备份驱动器。
robocopy G:\Users\ E:\Backup\T420\ /MIR /SEC /MT:32 /V /LOG:G:\bak\robocopy.txt
Run Code Online (Sandbox Code Playgroud)
笔记本电脑是 USB 2,备份驱动器是 USB 3。
它现在已经运行了 18 多个小时,这比我的预期要长。
即使 USB 2 的速度较慢,也只需要大约 8 小时
https://www.wolframalpha.com/input/?i=58+gB+at+2+MB%2Fs
如果我按Ctrl-C并检查日志以查看发生了什么,然后再次运行该命令会花费相同的时间还是会从停止的地方恢复?
假设它恢复,有什么样的时间开销来计算哪些文件要复制以及从哪里恢复?
编辑:事实证明,花费这么长时间的原因是因为一些无法复制的伪造/未完全同步的 OneDrive 文件和重试 100 万次的默认值。更改重试并等待允许它完成/r:2 /w:5
har*_*ymc 63
如果文件夹包含非常多的文件,那么对于源和目标来说,频繁访问磁盘目录确实需要很长时间。
此外,USB2 端口上的 USB3 磁盘将以 USB2 的速度工作。在进行初始握手时,USB3 磁盘将根据端口及其协议进行自我调整。
您正在使用/MT:32多线程,因此告诉 robocopy 一次复制 32 个文件。这将导致 32 个线程争夺对磁盘的访问,并且会进一步减慢复制速度,磁盘的磁头通过在磁盘上来回来回浪费时间。在 USB2 拷贝速度较慢的情况下,不建议使用 Multi-Threaded。
使用可重启模式/Z处理部分复制的文件。使用此选项,当复制中断,因此某些特定文件被部分复制时,robocopy 的下一次执行可以从中断的地方继续执行,而不是重新复制整个文件。不幸的是,在某些情况下,此开关会减慢复制速度。
opt*_*lic 23
它是确定以停止的Robocopy在操作的中间。
默认情况下,它不会重新复制已经复制的文件。
确定从哪里恢复(或基本上检查哪些文件相同)的开销非常低 - 只需几秒钟。
但是,如果您不写入日志(或使用/TEE也写入控制台),/V则会增加此开销,因为将所有行写入控制台将花费更长的时间。
注意:可重新启动模式(如评论中所述)仅用于重新启动单个文件(例如,如果一个巨大的文件在中间停止,您可以部分恢复而不是再次复制整个文件)并且不需要恢复批量复制如问题中所问。
Ble*_*erg 17
我已经使用robocopy了多年,并且知道您可以在文件中间停止复制,然后重新启动会迅速回到停止的地方。除非您使用该/XN选项,robocopy否则将删除它正在处理的最后一个文件并重新开始复制。当它第一次创建一个文件时,它将“修改”时间设置为 1/1/1980,所以基本上只要你的时钟设置正确,它就会看到那个时间并重新启动复制过程。正如您所说,其他文件将被忽略,因为它们与源文件具有相同的修改日期/时间。
就个人而言,我在使用时总是将/TEE选项与/V和选项一起/LOG:使用,robocopy以便我可以监控正在发生的事情(如果发生崩溃,我可以回去查看是否也有问题)。如果您有大量的小文件(数万或更多),它会稍微减慢速度,但它也可以帮助您确定是否存在问题。如果缩小高度,或者更好的是,最小化命令提示符窗口,当您有一堆小文件时,可以大大加快复制速度。
18 小时对于您尝试复制的数量来说非常长,因此您可能尝试复制大量的小文件,或者您的目录结构中有一些递归。由于您有日志,您可以尝试查看它的底部,看看目录结构是否在重复。如果是,您可以尝试跳过连接点/XJD以查看是否允许您停止卡住的循环。该/XD选项还可用于完全忽略特定目录。
关于该/Z选项,此选项仅适用于“网络传输”。我把它放在引号中是因为本地副本不会使用可重启模式;但是,如果robocopy看到网络路径,它将使用可重启模式,即使源和目标是本地的,(这可能只是我的版本,robocopy因为我没有越过 Windows 7)。如果您共享您的驱动器或驱动器上的文件夹(最好是只有您有权访问的帐户),并启用Change权限,然后使用该路径作为目标,它应该在可重启模式下工作。当然,使用可重启模式时性能可能会受到影响。
可以停止 Robocopy 吗?
我经常毫无问题地终止 Robocopy 任务。如果进程被终止,据我所知,被复制的文件将具有 (a) 1980-01-01 的时间戳 (b) 与原始文件相同的大小。
假设它恢复,需要多少时间开销来计算哪些文件需要复制以及从哪里恢复?
如果您使用这些参数再次启动任务,它将 (a) 跳过已复制的文件 (b) 重新复制因日期不匹配而中断的文件 (c) 复制上次尝试中未复制的文件(d) 从目标中删除因切换而不再存在于源中的文件/MIR。
原来,之所以拖了这么久,是因为……
在杀死进程之前,您可以在文本编辑器中打开日志文件以查看它在做什么;最后一行将包含正在复制的文件及其大小。如果出现错误,也会列出该错误,例如:
2019/12/13 06:26:38 ERROR 32 (0x00000020) 正在复制文件 C:\Redacted
该进程无法访问该文件,因为该文件正在被另一个进程使用。等待 60 秒...重试...
复制成功后,日志文件将包含一个摘要,其中包括传输速率(兆字节/分钟),这将使您大致了解下次需要多长时间。
| 归档时间: |
|
| 查看次数: |
23298 次 |
| 最近记录: |