[windows] robocopy 備份至 網路磁碟機

  實作:

來源: D:\develop ;目標: Z:\develop ;檔案數:48120

1.新增網路磁碟機,作法請參考這篇「檔案歷程記錄 備份至 網路磁碟機」的步驟1至步驟3

2.cmd執行robocopy ,或是將指令轉為「批次檔 .bat」執行

我依我這邊的需求,組成我需要的指令:

robocopy官方文件

(1)cmd:

ROBOCOPY D:\develop Z:\develop /R:0 /W:0 /E /TEE /NFL /NDL /XO /xa:h

(2).bat:

「批次檔,這邊我想每次執行時可以寫一個用時間為檔名的LOG,指令如下。

set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set filename=%today%_%time:~0,2%%time:~3,2%%time:~6,2%.txt
set sourcePath=D:\
set targetPath=Z:\
robocopy %sourcePath%develop %targetPath%develop /R:0 /W:0 /E /TEE /NFL /NDL /XO /XA:H /MT:32  >>D:\xcopyLog\%filename%


ps:
/R:n 失敗複本的重試次數: 預設值是 1 百萬次。
/W:n 重試之間等候時間: 預設值是 30 秒。
/E 複製子目錄,包括空的子目錄。
/TEE 輸出至主控台視窗,以及記錄檔。
/NFL 沒有檔案清單 - 不記錄檔案名稱。
/NDL 沒有目錄清單 - 不記錄目錄名稱。
/XO 排除較舊的檔案。
/xa:[RASHCNETO] 排除已設定任何指定屬性的檔案。 此選項的有效值為:
        • R - 唯讀
        • A - 封存
        • S - 系統
        • H - 隱藏
        • C - 壓縮
        • N - 未編制索引的內容
        • E - 加密
        • T - 暫存
        • O - 離線
/MT:32 — 使用 n 個執行緒進行多執行緒複製(預設值為 8)。必須至少為 1,但不得大於 128。
*依我的觀察MT,如果單一檔案很大 MT給越大 越容易拖慢速度,反之如果檔案數量很大 MT越大越快。

3.執行結果與Log

ps:這是第二次執行結果(已經跑完一次了,所以大多都是比對,速度會快很多,花了約16分鐘)

Issues:

(1)系統找不到指定的路徑:
備份至 網路磁碟機,如果用系統管理員執行程式,會發生這個錯誤,因為系統管理員只能對本機進行操作,若跨server會有問題。我覺得大概就兩種解決方法,1.最簡單的就是不要用系統管理員執行;2.就要從備份端server下手了,可能開給大家都可以搜尋到不用輸入帳密之類的開始著手(然後將目錄改為IP,像是原本是「Z:\」改為「\\127.0.0.1\」)

留言

這個網誌中的熱門文章

[Visual Studio]位於網際網路或是限制區域上 或是檔案上標有 web 字樣 所以無法處理該檔案。若希望處理這些檔案 請移除 web 字樣。

[IIS] IIS執行時,發生拒絕存取路徑 問題

[windows] xcopy 備份至 「網路磁碟機」