Windows服务器上大文件夹同步/备份

前言

在Win服务器上磁盘扩容是有风险的,所以我们最好在扩容前进行数据的备份。

以下有几种常见的方式:

  • 复制(FastCopy)
  • 克隆(傲梅分区助手)
  • 同步(RoboCopy、FreeFileSync)

FastCopy

https://fastcopy.jp/

特点

  1. FastCopy是Windows上最快的复制/备份软件
  2. 可复制(&删除)UNICODE和超过MAX_PATH(260个字)的文件路径名。
  3. 读/写/验证被做成独立的线程运行,加上异步和直接I/O,以保持性能接近设备的极限。
  4. 可指定包含/排除过滤器(UNIX通配符样式)。
  5. 因没有使用MFC,仅使用Win32API设计,不会贪占资源,运行快速。

个人使用结果

当文件都是小文件的时候效果不好。

适合大文件的复制。

因为是复制所有源目录文件不能变化。

傲梅分区助手

https://www.disktool.cn/

使用傲梅分区助手的分区克隆功能。

个人结果

备份速度比FastCopy快,没有FreeFileSync快。

克隆的时候会冻结原磁盘,冻结原磁盘会影响业务。

RoboCopy

作为 Windows 系统自带的命令行工具,它在处理超大磁盘同步时性能出色。

它支持多线程复制,可以充分利用系统资源,加快同步速度。

而且能处理大量文件和大文件,在处理磁盘级别的数据同步时表现稳定。

缺点

没有图形化界面,没法查看进度和剩余时间。

同步小文件效果不如FreeFileSync。

再次同步的时候会全部文件进行对比,效果非常不好。

镜像复制

让目标目录 E:\DestinationFolder 成为源目录 D:\SourceFolder 的一个精确副本,会删除目标目录中源目录没有的文件和文件夹。

1
robocopy D:\SourceFolder E:\DestinationFolder /MIR

参数解释

  • /MIR:镜像目录树,相当于 /E/PURGE 的组合,/PURGE 表示删除目标中源中不存在的文件和文件夹。

默认会根据系统资源和任务情况合理分配线程数量,以此提高复制效率。

若你想手动指定线程数量,可以使用 /MT 选项。

实际示例

1
robocopy D:\data\wwwjarapi\schoolfile E:\data\wwwjarapi\schoolfile /MIR

多线程复制

使用 8 个线程将源目录 D:\SourceFolder 中的文件复制到目标目录 E:\DestinationFolder,以加快复制速度。

1
robocopy D:\SourceFolder E:\DestinationFolder /MIR /MT:8

参数解释

  • /MT:指定多线程复制,后面的数字表示线程数,建议根据系统性能和磁盘情况调整。

仅复制新文件或更改过的文件

只复制源目录 D:\SourceFolder 中比目标目录 E:\DestinationFolder 中更新或不存在的文件。

1
robocopy D:\SourceFolder E:\DestinationFolder /E /XO

参数解释

  • /E:复制子目录,包括空的子目录。
  • /XO:排除目标中比源更新的文件。

按文件大小和时间筛选复制

仅复制源目录 D:\SourceFolder 中大小大于 10MB 且在 2024 年 1 月 1 日之后修改过的文件到目标目录 E:\DestinationFolder

1
robocopy D:\SourceFolder E:\DestinationFolder /E /MIN:10485760 /MAXAGE:20240101

参数解释

  • /MIN:指定要复制的文件的最小大小(以字节为单位),这里 10MB 换算为字节是 10485760 。
  • /MAXAGE:指定要复制的文件的最大修改日期,格式为 YYYYMMDD。

记录日志

将复制过程记录到 C:\log.txt 文件中,同时在命令行显示详细信息。

1
robocopy D:\SourceFolder E:\DestinationFolder /E /LOG:C:\log.txt /V

参数解释

  • /LOG:将状态输出到日志文件(覆盖现有日志)。
  • /V:显示详细信息。

FreeFileSync(推荐)

https://freefilesync.org/

个人使用起来最推荐的方式。

免费版的不能设置多线程,捐赠版才可以。

优点

  • 能显示同步的进度和剩余时间。
  • 能监控文件夹变化自动同步。
  • 小文件多的时候性能较好。

注意

每次同步之前要先点击比较进行重新对比。

同步配置中使用数据库文件来检测变化主要用于文件夹下文件或文件夹移动位置的情况,如果没有这种情况不要勾选。