[问题] 排除特定档案,判断资料夹最后写入时间

楼主: 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