新聞中心
本篇內(nèi)容主要講解“Linux怎么自動(dòng)清理N天前目錄文件”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Linux怎么自動(dòng)清理N天前目錄文件”吧!
成都創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開(kāi)發(fā),軟件開(kāi)發(fā),微信平臺(tái)小程序開(kāi)發(fā),十年建站對(duì)成都咖啡廳設(shè)計(jì)等多個(gè)領(lǐng)域,擁有多年建站經(jīng)驗(yàn)。
服務(wù)器每周會(huì)產(chǎn)生一次全局備份文件,大小約100G左右,需要定期清理。
工作時(shí)間網(wǎng)站訪問(wèn)大,服務(wù)器I/O高的時(shí)候刪除大數(shù)據(jù)會(huì)對(duì)服務(wù)器狀態(tài)產(chǎn)生不好的影響。于是想利用計(jì)劃任務(wù)自動(dòng)執(zhí)行。
在我的備份目錄/bakcup下,每次備份文件均以日期形式命名目錄名:
# ls 2013-12-23 2014-01-06 2014-01-20 2014-02-03 2013-12-30 2014-01-13 2014-01-27 2014-02-10
刪除部分備份同時(shí)保留部分,可以使用find命令,如我要保留最近四周備份的文件,每次備份間隔七天:
# find /bakcup/ -maxdepth 1 -type d -mtime +28 /bakcup/2014-01-06 /bakcup/2014-01-13 /bakcup/2013-12-23 /bakcup/2013-12-30
-maxdepth 1:設(shè)置查找目錄深度為1,只在/backup目錄下查找,如不加此參數(shù)會(huì)將下級(jí)目錄中的文件都列出
-type d:設(shè)置查找類型為目錄
-mtime +28:查找28天前的目錄
查找結(jié)束后可用-exec參數(shù)連接刪除命令
rsync --delete-before -d /data/test/ {} \;
此處沒(méi)有使用rm,原因是rsync在刪除大量文件時(shí)比rm更具優(yōu)勢(shì),具體原因請(qǐng)參考《為什么rsync能夠快速刪除400000文件?》。
所以,整個(gè)命令就是:
# find /bakcup/ -maxdepth 1 -type d -mtime +28 -exec rsync --delete-before -d /data/test/ {} \;
***可以把命令放入腳本,設(shè)置crontab自動(dòng)執(zhí)行。
提醒:
使用命令前,應(yīng)先在服務(wù)器上試用查找部分的命令,如只查找出要清理的目錄,則可以繼續(xù)。
不排除某些系統(tǒng)會(huì)將./目錄查找出來(lái),一定要看清楚,防止出現(xiàn)意外情況。
另外可將-exec替換為-ok,效果相同,在刪除前提醒用戶確認(rèn)。
到此,相信大家對(duì)“Linux怎么自動(dòng)清理N天前目錄文件”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:Linux怎么自動(dòng)清理N天前目錄文件
瀏覽地址:http://ef60e0e.cn/article/gegehp.html