艾瑞克的 Hexo 空間

[筆記] forfiles xcopy list files modified last x days

本文發表於825天之前,文章內容可能已經過時,如有疑問,請聯繫作者。

筆記一下,免得忘掉

為了解決DMP批次轉檔效率問題,想出一個方法不知道可不可行

因為現行的方式是掃過一次NAS上的檔案,有異動的就去轉檔

然後NAS上的檔案可能有上萬個,所以導致效能很糟糕..

於是想說能不能先把有異動過的檔案,複製回本機,掃描過後,再去刪除,每天跑批次這樣..

先筆記一下怎麼把有異動過的檔案複製回本機

forfiles /S /P d:\BaiduYunDownload /D +2015/09/01 /M V.mkv -c “cmd /C Xcopy @path d:\test /y /s /d”
不過因為 forfiles 不支援 UNC ,所以要結合其他的命令 PushD

@echo off

PushD “\192.168.10.119\資訊部” &&(

“c:\windows\system32\forfiles.exe” /D +%data% -c “cmd /C c:\windows\system32\xcopy @path d:\test /y /s /d”

) & PopD
這樣的作法不會建立完整的路徑…還要想看怎麼解決

update

想了想,還是用 rsync 好了,比較好處理,先 rsync 到一個目錄,透過SMB 讓DMP主機Mount,再修改 config

rsync -Ra find /nas/資訊部 -type f -mtime -1 /root
這樣會在/root 底下建立 /nas/資訊部/1.xxxx /nas/資訊部/2-xxx 的完整路徑

每天大約2300 跑一次,然後半夜讓DMP 去轉檔一次,然後每天中午清掉這個備份路徑(DMP應該可以轉完吧..),先這樣試試看

 

update

1.清除舊資料

rm -rf /NAS_Daily/nas ; rm -rf /tmp/query_7days_change.txt
2.find 產出檔案列表
find /nas/查詢資料夾/ -name ‘@eaDir’ -prune -o -mtime -7 -type f -print > /tmp/query_7days_change.txt
3. rsync同步
rsync -Rav –files-from=/tmp/query_7days_change.txt / /NAS_Daily/
4. chmod 不然 Windows 那邊會進不了目錄
chmod -R 777 /NAS_Daily
 

 

 

 

 

avatar
[筆記] find exclude path