我必須將日誌文件從服務器同步到網絡共享,間隔爲5分鐘。有時日誌文件大小會增加到GB。那時,通過網絡複製大文件需要很多時間和帶寬。日誌文件同步通過Powershell
有沒有辦法將唯一修改的內容複製到目標文件?
例如,腳本首先將所有文件複製到目標。然後第二次腳本在5分鐘後運行,它將複製在最近5分鐘內添加的額外內容。
我必須將日誌文件從服務器同步到網絡共享,間隔爲5分鐘。有時日誌文件大小會增加到GB。那時,通過網絡複製大文件需要很多時間和帶寬。日誌文件同步通過Powershell
有沒有辦法將唯一修改的內容複製到目標文件?
例如,腳本首先將所有文件複製到目標。然後第二次腳本在5分鐘後運行,它將複製在最近5分鐘內添加的額外內容。
一個簡單的robocopy命令會爲你做這件事,你可以多次運行它,並且它不會複製文件,如果它沒有改變。基本語法是這樣的:
robocopy "C:\logs" "\\server\share\logs\" /W:2 /R:5
的/W
和/R
開關設置等待並重試選項;在這種情況下,Robocopy會將每個副本重試5次,每次嘗試之間等待2秒。 (默認設置允許百萬重試,以30秒的間隔!)
的「重複複印選項」也可能對你有用:
/MON:n
:監視源;出現n次以上變化時再次運行。
/MOT:m
:MOnitor source;在m分鐘內再次運行時間,如果更改。
Robocopy非常強大,並有太多的選擇來覆蓋這裏。要查看完整語法,請在命令提示符處鍵入robocopy /?
。
謝謝。 robocopy正在給出所需的結果。 –
聽起來像是一個'robocopy.exe'的用例 – BenH
https://superuser.com/questions/181579/need-backup-program-capable-of-copying-delta-incremental-file-changes-only http: //www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp –