本篇內容介紹了“怎么用Linux Shell腳本來(lái)監控磁盤(pán)使用情況并發(fā)送郵件”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!
你可以使用下列 shell 腳本在 Linux 系統中來(lái)監控磁盤(pán)空間使用率。
當系統到達給定的閥值限制時(shí),它將發(fā)送一封郵件。在這個(gè)例子中,我們設置閥值為 60% 用于測試目的,你可以改變這個(gè)限制來(lái)符合你的需求。
如果超過(guò)一個(gè)文件系統到達給定的閥值,它將發(fā)送多封郵件,因為這個(gè)腳本使用了循環(huán)。
同樣,替換你的郵件地址來(lái)獲取這份警告。
# vi /opt/script/disk-usage-alert.sh #!/bin/shdf -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while read output;do echo $output used=$(echo $output | awk '{print $1}' | sed s/%//g) partition=$(echo $output | awk '{print $2}') if [ $used -ge 60 ]; then echo "The partition \"$partition\" on $(hostname) has used $used% at $(date)" | mail -s "Disk Space Alert: $used% Used On $(hostname)" [email protected] fidone
輸出:我獲得了下列兩封郵件警告。
The partition "/dev/mapper/vg_2g-lv_home" on 2g.CentOS7 has used 85% at Mon Apr 29 06:16:14 IST 2019 The partition "/dev/mapper/vg_2g-lv_root" on 2g.CentOS7 has used 67% at Mon Apr 29 06:16:14 IST 2019
最終添加了一個(gè) cronjob 來(lái)自動(dòng)完成。它會(huì )每 10 分鐘運行一次。
# crontab -e*/10 * * * * /bin/bash /opt/script/disk-usage-alert.sh
作為代替,你可以使用下列的 shell 腳本。對比上面的腳本我們做了少量改變。
# vi /opt/script/disk-usage-alert-1.sh #!/bin/shdf -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while read output;do max=60% echo $output used=$(echo $output | awk '{print $1}') partition=$(echo $output | awk '{print $2}') if [ ${used%?} -ge ${max%?} ]; then echo "The partition \"$partition\" on $(hostname) has used $used at $(date)" | mail -s "Disk Space Alert: $used Used On $(hostname)" [email protected] fidone
輸出:我獲得了下列兩封郵件警告。
The partition "/dev/mapper/vg_2g-lv_home" on 2g.CentOS7 has used 85% at Mon Apr 29 06:16:14 IST 2019 The partition "/dev/mapper/vg_2g-lv_root" on 2g.CentOS7 has used 67% at Mon Apr 29 06:16:14 IST 2019
最終添加了一個(gè) cronjob 來(lái)自動(dòng)完成。它會(huì )每 10 分鐘運行一次。
# crontab -e*/10 * * * * /bin/bash /opt/script/disk-usage-alert-1.sh
我更喜歡這種方法。因為,它工作起來(lái)很有魔力,你只會(huì )收到一封關(guān)于所有事的郵件。
這相當簡(jiǎn)單和直接。
*/10 * * * * df -Ph | sed s/%//g | awk '{ if($5 > 60) print $0;}' | mail -s "Disk Space Alert On $(hostname)" [email protected]
輸出: 我獲得了一封關(guān)于所有警告的郵件。
Filesystem Size Used Avail Use Mounted on/dev/mapper/vg_2g-lv_root 10G 6.7G 3.4G 67 //dev/mapper/vg_2g-lv_home 5.0G 4.3G 784M 85 /home
# vi /opt/script/disk-usage-alert-2.sh #!/bin/bashused=$(df -Ph | grep '/dev/mapper/vg_2g-lv_dbs' | awk {'print $5'})max=80%if [ ${used%?} -ge ${max%?} ]; thenecho "The Mount Point "/DB" on $(hostname) has used $used at $(date)" | mail -s "Disk space alert on $(hostname): $used used" [email protected]fi
輸出: 我得到了下面的郵件警告。
The partition /dev/mapper/vg_2g-lv_dbs on 2g.CentOS6 has used 82% at Mon Apr 29 06:16:14 IST 2019
最終添加了一個(gè) cronjob 來(lái)自動(dòng)完成這些工作。它將每 10 分鐘運行一次。
# crontab -e*/10 * * * * /bin/bash /opt/script/disk-usage-alert-2.sh
注意: 你將在 10 分鐘后收到一封郵件警告,因為這個(gè)腳本被計劃為每 10 分鐘運行一次(但也不是精確的 10 分鐘,取決于時(shí)間)。
例如這個(gè)例子。如果你的系統在 8:25 到達了限制,你將在 5 分鐘后收到郵件警告。希望現在講清楚了。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站