溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

AIX下find命令不遞歸刪除目錄

發(fā)布時間:2020-07-23 07:27:50 來源:網(wǎng)絡(luò) 閱讀:778 作者:余迪 欄目:系統(tǒng)運(yùn)維

場景描述:

如下圖所示:在日志目錄下有以日期命令的目錄,目錄里面有目錄與Log日志文件。因為空間報警,所以需要刪除前面的數(shù)據(jù)。

AIX下find命令不遞歸刪除目錄


解決方法:

當(dāng)然我們可以使用rm命令一個個地刪除,考濾運(yùn)維的方便,我們寫個腳本來實(shí)現(xiàn)最好了。如果是linux平臺的話,其實(shí)很簡單:

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ù),它的含義是 當(dāng)遇到目錄時,不進(jìn)行遞歸查找。

2、對于開始目錄的限定,“./*”與“./”與“./ -name "."”與“./.”這幾個目錄是不一樣的,"./*"是從當(dāng)前目錄下的所有的目錄與文件開始;而“./”從當(dāng)前目錄開始;“./ -name "."”則是除了./目錄以為的所有內(nèi)容,等同“./*”;“./.”還是當(dāng)前目錄。


最后把上面的語句放到crontab里就可以用定時任務(wù)天天刪數(shù)了。



參考:?

1、stackovernet上的問答《Equivalent maxdepth for find in AIX》

2、My熊貓眼 寫的《find命令-prune 參數(shù)引起的思考》









向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI