首页/系统/Windows 运维速查/robocopy 备份模式与权限复制
磁盘与文件43 条

robocopy 备份模式与权限复制

复制安全描述符要用 /COPYALL 或 /SEC;被拒绝的文件用 /B(备份模式,需备份权限);/EFSRAW 处理加密文件。

Windows 运维速查系统更新于 2026-10-13

robocopy 备份模式是什么

robocopy 默认只搬文件内容与时间戳,不搬 ACL;要做“完整备份式”复制,得用 /COPYALL 把数据、属性、时间戳、所有者和审核信息一起搬过去。/B(备份模式)让复制以备份权限读取文件,从而越过“拒绝访问”的 ACL 限制——这需要账户持有本机的备份操作员权限,管理员默认具备。两者组合是文件服务器迁移的常见起手式。

基本信息

适用平台Windows Vista 起内置;Server 2008 及以后通用
权限相关/COPYALL = D A T S O U 全量;/SEC 只带 ACL;/SECFIX 只修目标 ACL
备份模式/B 备份模式,/ZB 先常规失败再自动切备份模式
用途标记/MIR 镜像删除多余文件,仅同步目录时用
重要提醒robocopy 退出码 0-7 都算成功,≥8 才是失败
日志/LOG 文件 /TEE /NP 控制日志输出

典型使用场景

  • 文件服务器迁移:连权限和所有者一起搬到新卷
  • 给共享目录做完整备份,要求还原后权限不变
  • 跳过个别“拒绝访问”的文件,保证整体复制能跑完
  • 迁移后用 /SECFIX 只补权限,不重新搬数据
  • 跨卷搬大量小文件,比资源管理器复制更稳更快

常用示例

常用示例
robocopy D:\Share E:\Share /E /COPYALL /ZB /R:2 /W:2 /LOG:D:\rc.log   # 完整复制含权限,失败快速放过
robocopy D:\Share E:\Share /E /SECFIX /L /LOG:D:\fix.log              # /L 只列结果不实际写入,先演练
robocopy D:\Share E:\Share /E /SEC /B /MT:16                          # 只带 ACL,多线程加速
robocopy D:\Share E:\Share /MIR /Z /R:0 /W:0                          # 镜像同步,不重试不等待
robocopy D:\Share E:\Share /E /COPYALL /XF *.tmp /XD cache            # 排除临时文件与缓存目录
if %ERRORLEVEL% LSS 8 echo 复制成功

/COPYALL 与权限读法

字符搬什么漏掉的后果
D数据内容文件为空或不完整
A文件属性只读、隐藏位丢失
T时间戳增量备份误判为全部更新
SACL 安全描述符目标权限退回继承,出现越权或无法访问
O所有者所有者被改成执行复制的人
U审核信息审计规则丢失,合规检查不过
robocopy 的成功退出码是 0 到 7(8 表示有文件失败),脚本里必须显式判断,否则会把“有文件没复制成功”当成顺利完成。
/MIR 会删除目标端多出来的文件,源端若挂了部分目录,目标端对应数据会被一起删掉;正式跑之前先带 /L 演练并确认源端完整。

易错点

  • 只用 /E 不带 /COPYALL 做迁移,目标目录权限全部回落到继承,上线后一片“拒绝访问”
  • /COPYALL 连审核位一起搬,目标卷没启用审计策略时会出现意外 ACL 状态,合规环境要先对齐审计配置
  • 跨域迁移时源端 ACL 里的用户映射不到新域,搬过去只剩 SID,事后必须统一做权限重建
  • 脚本直接判断 ERRORLEVEL 是否为 0,把 robocopy 的 1-7 这种“正常但有差异”的结果误判为失败

数据来源与参考

  • Microsoft Learn:robocopy /COPYALL
  • Microsoft Learn:robocopy /B 备份模式

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌