場景描述:
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供南平網(wǎng)站建設(shè)、南平做網(wǎng)站、南平網(wǎng)站設(shè)計、南平網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、南平企業(yè)網(wǎng)站模板建站服務(wù),10多年南平做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
如下圖所示:在日志目錄下有以日期命令的目錄,目錄里面有目錄與Log日志文件。因為空間報警,所以需要刪除前面的數(shù)據(jù)。
解決方法:
當然我們可以使用rm命令一個個地刪除,考濾運維的方便,我們寫個腳本來實現(xiàn)最好了。如果是linux平臺的話,其實很簡單:
find?~/log?-maxdepth?1?-mindepth?1?-type?d?-mtime?+149?|?xargs?rm?-rf
用上面的命令就可以了。但是在AIX平臺下的find命令就不那么友好了,因為它沒有 maxdepth 、mindepth參數(shù)。在找了幾圈后發(fā)現(xiàn)可以用如下的命令來解決:
#刪除~/log/目錄下日期目錄,保留365天數(shù)據(jù) find?~/log/*?-prune?-type?d?-name?"20*"?-mtime?+365?-print?|?xargs?rm?-rf? ##?上面的命令也等同于: find?~/log/?!?-name?"."?-prune?-type?-d?-name?"20*"?-mtime?+?365?-print?|?xargs?rm?-rf
里面關(guān)鍵說明:
1、prune這個參數(shù),它的含義是 當遇到目錄時,不進行遞歸查找。
2、對于開始目錄的限定,“./*”與“./”與“./ -name "."”與“./.”這幾個目錄是不一樣的,"./*"是從當前目錄下的所有的目錄與文件開始;而“./”從當前目錄開始;“./ -name "."”則是除了./目錄以為的所有內(nèi)容,等同“./*”;“./.”還是當前目錄。
最后把上面的語句放到crontab里就可以用定時任務(wù)天天刪數(shù)了。
參考:?
1、stackovernet上的問答《Equivalent maxdepth for find in AIX》
2、My熊貓眼 寫的《find命令-prune 參數(shù)引起的思考》