[問題] 排除特定檔案,判斷資料夾最後寫入時間

作者: REIDO (NEET)   2016-12-09 15:50:08
實驗室電腦因為歷經多年以及多單位使用,樹狀結構因為大家習慣不同所以很混亂,
現在因為要增加備份的程序,我打算把一些老資料給丟掉。
首先,這些資料會以folder為單位存放,folder內部資料有相關,缺一不可,所以
移除要以folder為單位,如果只移除一部份,剩下的也無法用。
原本要求只有這一樣,我想說用find . -type d -mtime +1080,但是這樣會有兩個問題
1.如果有使用者開很多層資料夾,然後之後寫入只在下層,那上面的父資料夾
時間會比較早,萬一直接rd/s/q移除父資料夾等於下面比較新的也會一起死
2.因為有微軟的搞鬼,有些資料夾會產生Thumbs.db的檔案,這會讓folder的mtime
更新,但是其實真正的資料很舊。
所以我應該不能直接用資料夾的mtime,但是就算我對檔案排序還是無法排除
先刪除父資料夾結果連同子資料夾一起刪掉的問題。
請問這種需求,應該要如何處理?
作者: kenduest (小州)   2016-12-09 17:40:00
所以重點是,你的判斷依據是要靠什麼資訊認定老舊你可能要有一個基礎認定模式,比方是檔案存取與寫入時間這類資訊當基準嗎,還是... ?
作者: REIDO (NEET)   2016-12-09 18:29:00
就是最後寫入時間,譬如3年前這樣如果那個資料夾最後寫入的檔案室3年前就刪掉這樣,讀取不管如果那個資料夾內的所有檔案(排除Thumbs.db這些),最新的的寫入時間超過3年前,整個資料夾刪除,這是我的目標
作者: ckc1ark (偽物)   2016-12-09 20:37:00
先find非Thumbs.db又在指定期間內修改的檔案 這些檔案的最上層目錄當白名單不要刪這樣?
作者: REIDO (NEET)   2016-12-10 14:55:00
請問這樣白名單要如何處理?

Links booklink

Contact Us: admin [ a t ] ucptt.com