自動清理目錄的設定

[]

自 Mac OS X Leopard 有「下載目錄」功能開始,下載的東西緊放落去就可以了毋使愁講要放到哪邊。毋過東西一多就是麻煩,是講有些東西看過就算了也沒想要留下來,又沒想緊用手動的方式來清這些檔案,就想寫一個簡單的程式給電腦定時去檢查,放超過時間就把他刪掉,按呢就毌使自家動手來清了。本成我就有佇 FreeBSD 做同樣的事情了:有一著分大家共用的暫存目錄,東西放超過兩禮拜就會被系統用 find –delete 自動清掉,逐日半夜會清一次。

不過按呢有一著沒顧到的地方:這著目錄的圖示 (Icon) 還有語系設定檔 (.localized) 是講沒一定時間沒去摸他一下,系統就會覺得這放太久要把他刪掉。 .localized 還好處理,就清理目錄前先摸他一下就好了; Icon 就麻煩了,他不是正經的一著檔案,摸他沒用;喊 find 毋要刪掉名仔是 Icon 是可以啦,不過裡背也還有名仔也是 Icon 的檔案就會共下留下來了,按呢不理想。

後來想到可以用 file flag 來標記沒想刪掉的檔案,本成想要用 uchg,試驗了一下發現可以用,毋過按呢其他的人就改不得有標記過的檔案,會較麻煩一些仔。後來想到 nodump 沒用到 (這下不是用 dump 備份的時代了),啊又堵堵好暫存目錄本成就毋使備份,正經有用到 dump 功能的時節也不使擔心。

用 chflags 可以設定 flag,檔案產生那下就有 dump 的屬性,所以設定成 nodump 就做得了。
 
chflags nodump ~/Downloads/.localized
chflags nodump ~/Downloads/Icon

過來用 find 可以找到什麼檔案有 nodump 這著屬性,”+”,定對(?)要加,毋是講有兩種屬性 (像:nodump, hidden) 就會找不到了。

find ~/Downloads -flags +nodump

改寫一下,就可以清掉放超過 1 著月的檔案又毋會清掉 nodump 的檔案。 過來就放 /etc/crontab 沒就 /var/cron/tabs 裡背給他跑就可以定時清理了 (要多久清一道可以自已去設定)。

find ~/Downloads \! -newerct '1 month ago' \! -flags +nodump -delete

[客家語] hak-Hant-TW

Leave a Reply

Your email address will not be published. Required fields are marked *