按照使用率清除日志文件的shell腳本

問(wèn)題描述

程序每天在/var/www/storage/log目錄下生產(chǎn)日志量九,日志按照日期存儲(chǔ)泉瞻,比如2017-05-16的日志雕沉,就存儲(chǔ)在/var/www/storage/log/20170516下企软,以此類推。每天的日志大致有兩類借笙,文件名中有tmp標(biāo)識(shí)表示可以刪除储笑,有forever標(biāo)識(shí)的表示不可以刪除孕暇。當(dāng)磁盤(pán)使用率達(dá)到80%,則要?jiǎng)h除日志tmp標(biāo)識(shí)的日志只搁,以此降低磁盤(pán)使用率∫舯龋現(xiàn)在我們讓問(wèn)題變得更具體。
已知在/var/www/storage/log(目錄掛在/dev/vdb1下)有20170516氢惋,20170517洞翩,20170518三個(gè)日志目錄,每個(gè)目錄下各有1-tmp.log明肮、2-tmp.log菱农、forever.log三個(gè)日志文件缭付。當(dāng)日志文件所在磁盤(pán)使用率大于80%時(shí)柿估,需要按日期小到大按天刪除帶有tmp的日志文件,直到磁盤(pán)使用率小于80%陷猫。

解答思路

為了解答這個(gè)問(wèn)題秫舌,我們需要知道/dev/vdb1當(dāng)前是使用率。df -hl | grep /dev/vdb1 | awk '{print $5}這個(gè)命令的意思是绣檬,在df -hl的結(jié)果中找出含有/dev/vdb1的那個(gè)足陨,并輸出第5個(gè)參數(shù)。也就是磁盤(pán)使用的百分比娇未。由于我們會(huì)重復(fù)判斷磁盤(pán)使用率是否超過(guò)了80%墨缘,所以是否超過(guò)80%的邏輯,可以寫(xiě)成函數(shù)零抬。

function is_not_overusage(){
    limit_useage=$1
    useage=$(df -hl | grep /dev/vdb1 | awk '{print $5}')
    useage=${useage//%/}
    echo "current $useage"
    if [ $useage -lt $limit_useage ]
        then 
            return 1
        else
            return 0
    fi
}

那我們?nèi)绾蝿h除指定目錄下的帶有tmp的文件啦,執(zhí)行:

rm -rf `ls | egrep '(tmp){1}'

這里的正則寫(xiě)的比較簡(jiǎn)單镊讼,如果誤刪除了文件,請(qǐng)自行修改正則表達(dá)式平夜。

示例代碼

#!/bin/bash
function is_not_overusage(){
    limit_useage=$1
    useage=$(df -hl | grep /dev/vdb1 | awk '{print $5}')
    useage=${useage//%/}
    echo "current $useage"
    if [ $useage -lt $limit_useage ]
        then 
            return 1
        else
            return 0
    fi
}

function clearlog(){
    echo "delete $1"
    fileinfo=$(cd $1;rm -rf `ls | egrep '(tmp){1}'`)
}

limit_useage=80
is_not_overusage $limit_useage
if [ $? -eq 1 ]
then
    echo 'nothing needs to do'
    exit
fi

log_storage="/data/www/storage/logs"
for element in `ls $log_storage`
do
    dir_or_file=$log_storage"/"$element
    if [ -d $dir_or_file ]
    then
        clearlog $dir_or_file
        is_not_overusage $limit_useage
        if [ $? -eq 1 ]
            then 
                exit
        fi
    fi
done
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蝶棋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忽妒,更是在濱河造成了極大的恐慌玩裙,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件段直,死亡現(xiàn)場(chǎng)離奇詭異吃溅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)鸯檬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)决侈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人京闰,你說(shuō)我怎么就攤上這事颜及∷粒” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵俏站,是天一觀的道長(zhǎng)讯蒲。 經(jīng)常有香客問(wèn)我,道長(zhǎng)肄扎,這世上最難降的妖魔是什么墨林? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮犯祠,結(jié)果婚禮上旭等,老公的妹妹穿的比我還像新娘。我一直安慰自己衡载,他們只是感情好搔耕,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著痰娱,像睡著了一般弃榨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梨睁,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天鲸睛,我揣著相機(jī)與錄音,去河邊找鬼坡贺。 笑死官辈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的遍坟。 我是一名探鬼主播拳亿,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼政鼠!你這毒婦竟也來(lái)了风瘦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤公般,失蹤者是張志新(化名)和其女友劉穎万搔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體官帘,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瞬雹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了刽虹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酗捌。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胖缤,到底是詐尸還是另有隱情尚镰,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布哪廓,位于F島的核電站狗唉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏涡真。R本人自食惡果不足惜分俯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哆料。 院中可真熱鬧缸剪,春花似錦、人聲如沸东亦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)讥此。三九已至拢锹,卻和暖如春谣妻,著一層夾襖步出監(jiān)牢的瞬間萄喳,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工蹋半, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留他巨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓减江,卻偏偏與公主長(zhǎng)得像染突,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辈灼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容