欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

千鋒扣丁學(xué)堂Linux培訓(xùn)之用Linux Shell腳本來監(jiān)控磁盤使用情況并發(fā)送郵件

2019-05-20 15:15:54 4367瀏覽

今天千鋒扣丁學(xué)堂Linux培訓(xùn)老師給大家分享一篇關(guān)于解析Linux Shell腳本來監(jiān)控磁盤使用情況并發(fā)送郵件的詳細(xì)介紹,目前在市場(chǎng)上有很多用來監(jiān)控Linux系統(tǒng)的監(jiān)控工具,當(dāng)系統(tǒng)到達(dá)閥值后它將發(fā)送一封郵件。它監(jiān)控所有的東西例如CPU利用率、內(nèi)存利用率、交換空間利用率、磁盤空間利用率等等。然而,它更適合小環(huán)境和大環(huán)境。



想一想如果你只有少量系統(tǒng),那么什么是最好的方式來應(yīng)對(duì)這種情況。

是的,我們想要寫一個(gè)shell腳本來實(shí)現(xiàn)。

在這篇指南中我們打算寫一個(gè)shell腳本來監(jiān)控系統(tǒng)的磁盤空間使用率。當(dāng)系統(tǒng)到達(dá)給定的閥值,它將給對(duì)應(yīng)的郵件地址發(fā)送一封郵件。在這篇文章中我們總共添加了四個(gè)shell腳本,每個(gè)用于不同的目的。之后,我們會(huì)想出其他shell腳本來監(jiān)控CPU,內(nèi)存和交換空間利用率。

在此之前,我想澄清一件事,根據(jù)我觀察的磁盤空間使用率shell腳本使用情況。

大多數(shù)用戶在多篇博客中評(píng)論說,當(dāng)他們運(yùn)行磁盤空間使用率腳本時(shí)他們獲得了以下錯(cuò)誤。

# sh /opt/script/disk-usage-alert-old.sh
/dev/mapper/vg_2g-lv_root
test-script.sh: line 7: [: /dev/mapper/vg_2g-lv_root: integer expression expected
/ 9.8G

是的,這是對(duì)的。甚至,當(dāng)我第一次運(yùn)行這個(gè)腳本的時(shí)候我遇到了相同的問題。之后,我發(fā)現(xiàn)了根本原因。

當(dāng)你在基于RHEL5&RHEL6的系統(tǒng)上運(yùn)行包含用于磁盤空間警告的df-h或df-H的shell腳本中時(shí),你會(huì)發(fā)現(xiàn)上述錯(cuò)誤信息,因?yàn)檩敵龈袷讲粚?duì),查看下列輸出。

為了解決這個(gè)問題,我們需要用df-Ph(POSIX輸出格式),但是默認(rèn)的df-h在基于RHEL7的系統(tǒng)上運(yùn)行的很好。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_2g-lv_root
                       10G  6.7G  3.4G  67% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             976M   95M  830M  11% /boot
/dev/mapper/vg_2g-lv_home
                      5.0G  4.3G  784M  85% /home
/dev/mapper/vg_2g-lv_tmp
                      4.8G   14M  4.6G   1% /tmp

方法一:LinuxShell腳本來監(jiān)控磁盤空間使用率和發(fā)送郵件

你可以使用下列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/sh
df -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]
  fi
done

輸出:我獲得了下列兩封郵件警告。

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

方法二:LinuxShell腳本來監(jiān)控磁盤空間使用率和發(fā)送郵件

作為代替,你可以使用下列的shell腳本。對(duì)比上面的腳本我們做了少量改變。

# vi /opt/script/disk-usage-alert-1.sh
#!/bin/sh
df -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]
  fi
done

輸出:我獲得了下列兩封郵件警告。

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

方法三:LinuxShell腳本來監(jiān)控磁盤空間使用率和發(fā)送郵件

我更喜歡這種方法。因?yàn)椋ぷ髌饋砗苡心Я?,你只?huì)收到一封關(guān)于所有事的郵件。

這相當(dāng)簡單和直接。

*/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

方法四:LinuxShell腳本來監(jiān)控某個(gè)分區(qū)的磁盤空間使用情況和發(fā)送郵件

# vi /opt/script/disk-usage-alert-2.sh
#!/bin/bash
used=$(df -Ph | grep '/dev/mapper/vg_2g-lv_dbs' | awk {'print $5'})
max=80%
if [ ${used%?} -ge ${max%?} ]; then
echo "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)在講清楚了。

以上就是關(guān)于千鋒扣丁學(xué)堂Linux培訓(xùn)之用Linux Shell腳本來監(jiān)控磁盤使用情況并發(fā)送郵件的詳細(xì)介紹,最后想要學(xué)好Linux開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Linux學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Linux課程體系和Linux視頻教程供大家學(xué)習(xí),想要學(xué)好Linux開發(fā)技術(shù)的小伙伴快快行動(dòng)吧??鄱W(xué)堂Linux技術(shù)交流群:422345477。


扣丁學(xué)堂微信公眾號(hào)                          Python全棧開發(fā)爬蟲人工智能機(jī)器學(xué)習(xí)數(shù)據(jù)分析免費(fèi)公開課直播間


      【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】         【掃碼進(jìn)入Python全棧開發(fā)免費(fèi)公開課】



查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>

標(biāo)簽: Linux培訓(xùn) Linux視頻教程 紅帽Linux視頻 Linux學(xué)習(xí)視頻 Linux入門視頻 Linux常用命令

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部