作者REIDO (NEET)
看板Linux
標題[問題] 排除特定檔案,判斷資料夾最後寫入時間
時間Fri Dec 9 15:50:08 2016
實驗室電腦因為歷經多年以及多單位使用,樹狀結構因為大家習慣不同所以很混亂,
現在因為要增加備份的程序,我打算把一些老資料給丟掉。
首先,這些資料會以folder為單位存放,folder內部資料有相關,缺一不可,所以
移除要以folder為單位,如果只移除一部份,剩下的也無法用。
原本要求只有這一樣,我想說用find . -type d -mtime +1080,但是這樣會有兩個問題
1.如果有使用者開很多層資料夾,然後之後寫入只在下層,那上面的父資料夾
時間會比較早,萬一直接rd/s/q移除父資料夾等於下面比較新的也會一起死
2.因為有微軟的搞鬼,有些資料夾會產生Thumbs.db的檔案,這會讓folder的mtime
更新,但是其實真正的資料很舊。
所以我應該不能直接用資料夾的mtime,但是就算我對檔案排序還是無法排除
先刪除父資料夾結果連同子資料夾一起刪掉的問題。
請問這種需求,應該要如何處理?
--
最近你的吸引力將大幅上漲,周遭的異性將慢慢的被你迷惑,慢慢的開始愛上你......。
唯一美中不足的是───────那群異性中有一半以上是齧齒目,其餘的則是爬蟲類。
或是你也可以換個樂觀的角度───愛上你的只有不到一半是爬蟲類,其餘都是齧齒目。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.137.70
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1481269812.A.7A5.html
→ kenduest: 所以重點是,你的判斷依據是要靠什麼資訊認定老舊 12/09 17:40
→ kenduest: 你可能要有一個基礎認定模式,比方是檔案存取與寫入 12/09 17:40
→ kenduest: 時間這類資訊當基準嗎,還是... ? 12/09 17:40
→ REIDO: 就是最後寫入時間,譬如3年前這樣 12/09 18:29
→ REIDO: 如果那個資料夾最後寫入的檔案室3年前就刪掉這樣,讀取不管 12/09 18:30
→ REIDO: 如果那個資料夾內的所有檔案(排除Thumbs.db這些),最新的 12/09 18:43
→ REIDO: 的寫入時間超過3年前,整個資料夾刪除,這是我的目標 12/09 18:44
推 ckc1ark: 先find非Thumbs.db又在指定期間內修改的檔案 這些檔案的 12/09 20:37
→ ckc1ark: 最上層目錄當白名單不要刪這樣? 12/09 20:37
→ REIDO: 請問這樣白名單要如何處理? 12/10 14:55