爬了一下文章,似乎可以透過find 以及rsync 來做到。
我們來看一下範例,找出某段時間之後有被存取過的檔案。
# find . -newerct 2015-07-01其他find 更多應用可以參考MAN,其他跟時間比較相關的有mtime(檔案內容修改時間)、ctime(檔案狀態改變時間)、atime(檔案最後被存取時間)
./
file1
file2
接著搭配RSYNC把找出的檔案備份
find SOURCE -newerct 2015-06-01 -exec rsync -av {} DST \;原本以為這樣就可以結束,順利的備份,但是不管怎麼跑,RSYNC都會全部備份,奇怪了,不是都已經使用FIND了嗎?
後來仔細去看才發現,是因為FIND出 來的結果,第一筆是 ./也就是
./最後在find 條件 加上要備份的檔案副檔名解決。
file1
file2
或是加入 *
find SOURCE/* -newerct 2015-06-01 -exec rsync -av {} DST \;
附加,如果希望執行兩個命令以上呢
find SOURCE/* -newerct 2015-06-01 -exec rsync -av {} DST \; -exec cmd {} \;參考來源
利用 「find」 以日期為條件找出被修改或狀態改變的檔案
find -exec with multiple commands
沒有留言:
張貼留言