robocopy 簡介
robocopy 為 windows 平台上與 Linux 平台 rsync 指令一樣都是適用於大量資料轉移、自動化備份、伺服器資料同步等場景。
- 可靠性與錯誤處理 (Robustness)
- 自動重試:當網路中斷或發生錯誤時,robocopy 會自動重試指定的次數 (預設為 1 百萬次),而不是直接中斷。
- 可續傳模式 (
/Z):如果在複製大檔案的過程中中斷,此模式可以從上次中斷的地方繼續複製,而不是從頭開始。
- 同步與鏡像 (Synchronization & Mirroring)
- 鏡像 (
/MIR):可以讓目標資料夾與來源資料夾完全同步。這意味著它會複製新檔案、更新變動的檔案,並且刪除目標 資料夾中來源資料夾已不存在的檔案。 - 移動檔案 (
/MOV,/MOVE):複製後從來源刪除檔案或資料夾,達到「移動」的效果。
- 高效能 (High Performance)
- 多執行緒複製 (
/MT):可以同時複製多個檔案 (預設 8 個,最多可設 128 個),在處理大量小檔案或透過網路複製時能顯著提升速度。 - 增量複製:預設只會複製來源端有變動 (不同大小或時間戳) 的檔案,跳過完全相同的檔案,節省時間和頻寬。
- 精準的篩選與控制 (Filtering & Control)
- 檔案篩選:可以根據檔名、萬用字元 (/F)、屬性 (/IA, /XA)、檔案大小 (/MAX, /MIN) 或最後修改日期 (/MAXAGE, /MINAGE) 來決定要包含或排除哪些檔案。
- 目錄篩選:可以排除特定的資料夾 (/XD)。
- 複製內容控制 (
/COPY):可以精確指定要複製的檔案屬性,例如資料 (D)、檔案屬性 (A)、時間戳 (T)、NTFS 安全性權限 (S)、擁有者資訊 (O) 等。/COPYALL 則複製所有資訊。
- 自動化與日誌 (Automation & Logging)
- 適合腳本化:由於其豐富的選項和可靠性,非常適合用於撰寫自動化備份、部署或資料同步的批次檔 (batch scripts)。
- 詳盡的日誌 (
/LOG):可以將複製過程的詳細資訊記錄到日誌檔中,方便追蹤與除錯。 - 監控模式 (
/MON:n):可以持續監控來源資料夾,當檔案變動達到 n 次後,自動再次執行複製。
- 特殊模式
- 備份模式 (
/B):允許系統管理員複製他們可能沒有直接存取權限的檔案,這對於備份整個系統磁碟非常有用。
常用的一條指令
|
|
/MIR 引數代表
- 複製:將來源端新增的檔案和目錄複製到目標端。
- 更新:如果目標端已存在同名檔案,但來源端的版本較新,則會覆蓋更新目標端的檔案。
- 刪除:將目標端有、但來源端沒有的檔案和目錄全部刪除。