Robocopy(Robust File Copy)适合大量文件、网络中断恢复和保留时间戳。它是复制工具,不会自动提供版本历史;如果目标盘始终在线,也可能同步误删或被勒索软件影响,因此不能代替离线和异地备份。
一、先做普通增量复制
在管理员命令提示符(Command Prompt)中:
mkdir D:\BackupLogs
robocopy "C:\Data" "E:\Backup\Data" /E /Z /R:2 /W:5 /COPY:DAT /DCOPY:DAT /MT:8 /TEE /LOG:"D:\BackupLogs\data.log"
/E 包括空目录,/Z 支持可恢复模式,/R 和 /W 限制重试次数及等待秒数,/COPY:DAT 保留数据、属性和时间,/MT:8 使用八线程,/TEE 同时显示并写日志。
先加 /L 进行列表模拟(List only),确认源和目标没有写反:
robocopy "C:\Data" "E:\Backup\Data" /E /L
二、谨慎使用 /MIR
/MIR 是镜像,会让目标与源一致,包括删除目标中源不存在的项目。它适合同步副本,但不是保留历史版本的备份。第一次使用必须配合 /L 检查,目标不要指向磁盘根目录。
robocopy "C:\Data" "E:\Mirror\Data" /MIR /Z /R:2 /W:5 /LOG:"D:\BackupLogs\mirror.log"
要排除缓存目录和临时文件可用 /XD、/XF。不要从网上照抄排除项,应根据实际数据确认。
三、权限和网络共享
复制到共享路径:
robocopy "C:\Data" "\\NAS\Backup\Server01" /E /ZB /COPY:DATS /DCOPY:DAT /R:2 /W:5
/ZB 先尝试可恢复模式,拒绝访问时切换备份模式,需要相应权限;/COPY:DATS 包含 NTFS ACL。NAS 若不是 NTFS,可能不能完整保存 Windows 权限,恢复前要实际测试。
四、看懂返回码
Robocopy 返回码与普通命令不同,0–7 通常不代表致命失败,8 及以上表示至少有复制失败。批处理可记录:
robocopy "C:\Data" "E:\Backup\Data" /E /Z /R:2 /W:5 /LOG+:"D:\BackupLogs\data.log"
set RC=%ERRORLEVEL%
if %RC% GEQ 8 exit /b %RC%
exit /b 0
五、必须做恢复演练
备份完成后从目标随机复制几个文件到临时目录,打开并核对大小、日期与权限。数据库和正在写入的虚拟磁盘不能只靠文件复制保证一致性,应使用应用感知备份或先安全停止写入。定时任务(Task Scheduler)中还要使用专用账号、保存日志并配置失败告警。
本文为中文学习整理。资料来源:Microsoft Learn:Robocopy。
评论一下?