2013年7月2日 星期二

利用 robocopy 做差異備份

windows 系統的 A (Archive) 屬性旗標,是用來判斷哪些檔案或目錄需要備份
當檔案或目錄有新增或異動時,這個旗標會被設定,當檔案被備份後,該屬
性就會被移除。


如何判斷Archive屬性

可以利用 attrib c:\path\to\file 來判斷是否有 A 旗標,例如:
C:> attrib C:\AUTOEXEC.BAT
A          C:\AUTOEXEC.BAT

也可以在檔案或目錄的進階屬性查看封存屬性,如下圖紅圈處:





















利用 robocopy執行差異備份

全備份指令,複製之後移除 Archive 屬性
C:\> robocopy c:\source d:\destination\fullbackup\source /PURGE /E /M

差異備份指令,全備份後只要備份有 Archive 屬性的檔案,但備份後不移除 Archive 屬性,目的端的目錄可利用程式來處理要差異備份的天數
C:\> robocopy c:\source d:\destination\deffBackup_day1\source /PURGE /A /S

特別注意當來源和目的檔案相同時, robocopy 不會執行複製的動作,又
此時來源檔被設定 A 屬性,那每次執行全備份時,因 robocopy 不會真的
去複製到那個檔案,所以來源的 A 屬性並不會移除。


附註

windows 2003 以前版本的 windows ,可以到微軟下載
windows resource kit tools安裝,才有 robocopy 可用。

轉貼至http://beakdoosan.blogspot.tw/

沒有留言:

張貼留言