本篇內(nèi)容介紹了“怎么用Linux Shell腳本來監(jiān)控磁盤使用情況并發(fā)送郵件”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
在郊區(qū)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè),郊區(qū)網(wǎng)站建設(shè)費(fèi)用合理。
你可以使用下列 shell 腳本在 Linux 系統(tǒng)中來監(jiān)控磁盤空間使用率。
當(dāng)系統(tǒng)到達(dá)給定的閥值限制時(shí),它將發(fā)送一封郵件。在這個(gè)例子中,我們?cè)O(shè)置閥值為 60% 用于測(cè)試目的,你可以改變這個(gè)限制來符合你的需求。
如果超過一個(gè)文件系統(tǒng)到達(dá)給定的閥值,它將發(fā)送多封郵件,因?yàn)檫@個(gè)腳本使用了循環(huán)。
同樣,替換你的郵件地址來獲取這份警告。
# 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 來自動(dòng)完成。它會(huì)每 10 分鐘運(yùn)行一次。
# crontab -e*/10 * * * * /bin/bash /opt/script/disk-usage-alert.sh
作為代替,你可以使用下列的 shell 腳本。對(duì)比上面的腳本我們做了少量改變。
# 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 來自動(dòng)完成。它會(huì)每 10 分鐘運(yùn)行一次。
# crontab -e*/10 * * * * /bin/bash /opt/script/disk-usage-alert-1.sh
我更喜歡這種方法。因?yàn)?,它工作起來很有魔力,你只?huì)收到一封關(guān)于所有事的郵件。
這相當(dāng)簡(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 來自動(dòng)完成這些工作。它將每 10 分鐘運(yùn)行一次。
# crontab -e*/10 * * * * /bin/bash /opt/script/disk-usage-alert-2.sh
注意: 你將在 10 分鐘后收到一封郵件警告,因?yàn)檫@個(gè)腳本被計(jì)劃為每 10 分鐘運(yùn)行一次(但也不是精確的 10 分鐘,取決于時(shí)間)。
例如這個(gè)例子。如果你的系統(tǒng)在 8:25 到達(dá)了限制,你將在 5 分鐘后收到郵件警告。希望現(xiàn)在講清楚了。
“怎么用Linux Shell腳本來監(jiān)控磁盤使用情況并發(fā)送郵件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!