首页/系统/Windows 运维速查/robocopy 镜像同步(/MIR)
磁盘与文件43 条

robocopy 镜像同步(/MIR)

把源目录完整镜像到目标:多出的文件会被删除,只复制差异;同步前务必先跑 /L 预演确认删除范围。

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

robocopy 镜像同步

镜像参数让目标目录与源目录保持完全一致:源里新增的被复制过去,源里修改过的被更新,源里已删除的在目标里也会被删掉。它等价于「包含所有子目录」加上「清理目标中多余内容」两个动作的组合,因此特别适合做备份目录的持续同步与数据搬迁,但也意味着误用的代价很高。稳妥的用法是先做一次预演,把将要复制和将要删除的清单看一遍,确认无误再正式执行,并把过程写入日志留档。

基本信息

适用平台Windows Vista / Server 2008 及以后,系统自带
语法robocopy 源 目标 /MIR [附加选项]
行为等价于包含空目录复制与清理目标多余项两部分,目标是完全一致
预演加 /L 只列出将执行的动作而不落盘,只读且安全
常用配套/R: 重试次数、/W: 等待秒数、/Z 断点续传、/MT 多线程、/LOG 与 /TEE 日志
退出码0-7 属正常,8 及以上表示存在失败

典型使用场景

  • 定期备份:配合计划任务让备份目录与源保持一致,避免历史垃圾堆积
  • 数据迁移:搬迁完成后让两端内容完全对齐,便于切换
  • 站点同步:把静态资源目录镜像到另一块盘或另一台服务器的共享目录
  • 发布目录同步:用镜像方式去掉上一版本残留的文件
  • 磁盘替换:新盘挂载后一次性镜像,比手工挑选文件更可靠
  • 排障对比:预演模式下能看到两端差异,用于确认版本是否一致

常用示例

常用示例
:: 预演:只看将要复制与删除的内容,不动数据
robocopy D:\Data E:\Backup\Data /MIR /L /TEE
:: 正式镜像:带重试、断点续传、多线程与日志
robocopy D:\Data E:\Backup\Data /MIR /Z /R:2 /W:2 /MT:16 /LOG:D:\rc.log /TEE
:: 镜像但跳过某些目录
robocopy D:\Data E:\Backup\Data /MIR /XD D:\Data\Cache /XD D:\Data\Temp
:: 镜像并排除特定文件
robocopy D:\Data E:\Backup\Data /MIR /XF *.tmp *.bak
:: 让日志追加而不是覆盖
robocopy D:\Data E:\Backup\Data /MIR /LOG+:D:\rc.log

镜像相关选项

选项作用说明
/MIR镜像,目标与源保持一致会删除目标中多余的项,风险最高
/L只列出将执行的动作预演必备,建议每次正式执行前先跑
/XD排除指定目录缓存与临时目录通常不需要同步
/XF排除指定文件排除临时文件与备份文件
/PURGE删除目标中源已不存在的项镜像已包含该行为
/MOT只在目标有变化时才复制减少无谓写入
镜像包含删除动作,且删除发生在目标侧,无法通过撤销恢复。执行前务必确认「源是正确的那一侧」,并用预演模式核对将删除的清单,目标目录不要写成盘符根目录。
做定期备份时建议把日志参数设为追加形式并配合日志轮转,这样一旦发现某个文件在某天被误删,可以从日志里查到具体时间点,再决定是否从更高层备份恢复。

易错点

  • 源与目标写反:镜像会在几秒内清空目标目录中本该保留的内容,执行前必须核对路径并做预演
  • 目标写成盘符根或高层目录:删除范围会波及大量无关数据,镜像目标应是专用子目录
  • 不排除缓存与临时目录:把无意义的中间文件同步到备份里,既占空间又拖慢每次同步
  • 用非零退出码判断失败:镜像作业正常结束时也可能返回非零,判断标准应为是否大于等于 8
  • 把镜像当成归档:镜像只保留当前状态,源里的历史版本会被一并删除,需要历史版本时应叠加归档策略

数据来源与参考

  • Microsoft Learn:robocopy
  • Microsoft Learn:robocopy /MIR

相关工具

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