[筆記] forfiles xcopy list files modified last x days
本文于2368天之前發表,文章內容可能已經過時。
筆記一下,免得忘掉
為了解決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