在管理Linux下的文件時(shí),我們通常會(huì)有定時(shí)刪除過(guò)期文件的這個(gè)需求。比如定時(shí)刪除超過(guò)指定時(shí)間的日志文件,不然時(shí)長(zhǎng)越久,你的日志文件占用的空間就越大,那離爆磁盤(pán)不遠(yuǎn)了,還有也解決網(wǎng)站方便的需求,比如我們建立的淘寶客api的程序,為了提高商品頁(yè)的訪問(wèn)速度,我們需要進(jìn)行關(guān)鍵數(shù)據(jù)的緩存,也需要定時(shí)刪除過(guò)期的緩存文件,如果是使用PHP程序掃描刪除,那將得不償失。那么如何在Linux下定時(shí)刪除過(guò)期文件?這里小編簡(jiǎn)單介紹下,方便需要的朋友。
在linux下刪除過(guò)期文件,很簡(jiǎn)單,用如下命令:
復(fù)制代碼代碼如下:
find /var/www/ -type f -mtime +30 -exec rm -f '{} ;'
以上命令刪除30天以前的過(guò)期文件。
命令說(shuō)明:
/var/www/是查找文件的路徑。
-type f是指定文件類(lèi)型為普通文件。
-mtime +30是指修改時(shí)間距離現(xiàn)在30天的文件。
-exec rm -f指執(zhí)行刪除匹配出來(lái)的文件并且不提示,有的系統(tǒng)需要帶單引號(hào),有的不需要。
將以上命令,添加到crontab中,即可實(shí)現(xiàn)定期刪除了。
比如,每天的1點(diǎn)30分鐘實(shí)現(xiàn)刪除,可以這樣:
復(fù)制代碼代碼如下:
#crontab -e
30 1 * * * find /var/www/ -type f -mtime +30 -exec rm -f '{} ;'