成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Linux Shell腳本來(lái)監(jiān)控磁盤使用情況并發(fā)送郵件

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

[[265765]]

市場(chǎng)上有很多用來(lái)監(jiān)控 Linux 系統(tǒng)的監(jiān)控工具,當(dāng)系統(tǒng)到達(dá)閥值后它將發(fā)送一封郵件。它監(jiān)控所有的東西例如 CPU 利用率、內(nèi)存利用率、交換空間利用率、磁盤空間利用率等等。然而,它更適合小環(huán)境和大環(huán)境。

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

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

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

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

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

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

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

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

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

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

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

你可以使用下列 shell 腳本在 Linux 系統(tǒng)中來(lái)監(jiān)控磁盤空間使用率。

當(dāng)系統(tǒng)到達(dá)給定的閥值限制時(shí),它將發(fā)送一封郵件。在這個(gè)例子中,我們?cè)O(shè)置閥值為 60% 用于測(cè)試目的,你可以改變這個(gè)限制來(lái)符合你的需求。

如果超過(guò)一個(gè)文件系統(tǒng)到達(dá)給定的閥值,它將發(fā)送多封郵件,因?yàn)檫@個(gè)腳本使用了循環(huán)。

同樣,替換你的郵件地址來(lái)獲取這份警告。

  1. # vi /opt/script/disk-usage-alert.sh
  2.  
  3. #!/bin/sh
  4. df -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while read output;
  5. do
  6. echo $output
  7. used=$(echo $output | awk '{print $1}' | sed s/%//g)
  8. partition=$(echo $output | awk '{print $2}')
  9. if [ $used -ge 60 ]; then
  10. echo "The partition \"$partition\" on $(hostname) has used $used% at $(date)" | mail -s "Disk Space Alert: $used% Used On $(hostname)" [email protected]
  11. fi
  12. done

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

  1. The partition "/dev/mapper/vg_2g-lv_home" on 2g.CentOS7 has used 85% at Mon Apr 29 06:16:14 IST 2019
  2.  
  3. 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 分鐘運(yùn)行一次。

  1. # crontab -e
  2. */10 * * * * /bin/bash /opt/script/disk-usage-alert.sh

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

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

  1. # vi /opt/script/disk-usage-alert-1.sh
  2.  
  3. #!/bin/sh
  4. df -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while read output;
  5. do
  6. max=60%
  7. echo $output
  8. used=$(echo $output | awk '{print $1}')
  9. partition=$(echo $output | awk '{print $2}')
  10. if [ ${used%?} -ge ${max%?} ]; then
  11. echo "The partition \"$partition\" on $(hostname) has used $used at $(date)" | mail -s "Disk Space Alert: $used Used On $(hostname)" [email protected]
  12. fi
  13. done

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

  1. The partition "/dev/mapper/vg_2g-lv_home" on 2g.CentOS7 has used 85% at Mon Apr 29 06:16:14 IST 2019
  2.  
  3. 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 分鐘運(yùn)行一次。

  1. # crontab -e
  2. */10 * * * * /bin/bash /opt/script/disk-usage-alert-1.sh

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

我更喜歡這種方法。因?yàn)椋ぷ髌饋?lái)很有魔力,你只會(huì)收到一封關(guān)于所有事的郵件。

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

  1. */10 * * * * df -Ph | sed s/%//g | awk '{ if($5 > 60) print $0;}' | mail -s "Disk Space Alert On $(hostname)" [email protected]

輸出: 我獲得了一封關(guān)于所有警告的郵件。

  1. Filesystem Size Used Avail Use Mounted on
  2. /dev/mapper/vg_2g-lv_root 10G 6.7G 3.4G 67 /
  3. /dev/mapper/vg_2g-lv_home 5.0G 4.3G 784M 85 /home

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

  1. # vi /opt/script/disk-usage-alert-2.sh
  2.  
  3. #!/bin/bash
  4. used=$(df -Ph | grep '/dev/mapper/vg_2g-lv_dbs' | awk {'print $5'})
  5. max=80%
  6. if [ ${used%?} -ge ${max%?} ]; then
  7. echo "The Mount Point "/DB" on $(hostname) has used $used at $(date)" | mail -s "Disk space alert on $(hostname): $used used" [email protected]
  8. fi

輸出: 我得到了下面的郵件警告。

  1. 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 分鐘運(yùn)行一次。

  1. # crontab -e
  2. */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)在講清楚了。

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2022-06-09 08:07:15

Shell腳本Linux

2022-07-13 14:26:26

Linux

2019-06-24 08:53:01

Bash腳本Linux系統(tǒng)運(yùn)維

2014-04-24 16:26:31

UbuntuUbuntu 磁盤Linux基礎(chǔ)

2010-06-02 11:06:15

Linux 內(nèi)存監(jiān)控

2020-12-07 14:20:35

Linux磁盤工具

2023-08-21 14:18:48

操作系統(tǒng)Linux

2021-03-25 12:50:31

Linux磁盤命令

2017-11-30 18:42:22

PythonCPU腳本分析

2010-06-02 12:47:12

Linux 內(nèi)存監(jiān)控

2017-01-18 21:57:14

2021-03-26 07:17:38

Linux命令磁盤

2010-10-14 16:10:28

MySQL排序

2021-03-01 13:11:20

duf終端工具Linux

2010-02-03 17:16:58

Linux內(nèi)存使用

2009-12-14 17:25:20

Linux操作系統(tǒng)

2021-05-10 11:25:24

Linux命令磁盤

2022-04-07 06:04:00

NetHogs開源網(wǎng)絡(luò)工具

2018-09-14 16:38:43

FilelightLinux磁盤

2009-07-09 18:03:25

tomcatJVM內(nèi)存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区 | 久久久久久久夜 | 欧美性大战久久久久久久蜜臀 | 亚洲人成人一区二区在线观看 | 九九久久久久久 | 亚洲高清网 | 亚洲欧美日韩国产 | 正在播放国产精品 | 欧美操操操| 国产一区二区三区四区五区3d | 国产精品国产馆在线真实露脸 | 欧美久久电影 | 欧美日韩中文字幕 | 狠狠干美女 | 香蕉婷婷| 欧美精品网站 | 欧美亚洲国产精品 | 精品一区二区三区91 | 久久久久国产一区二区 | 亚洲精品天堂 | 可以在线观看av的网站 | 国产精品一区二 | 欧美精品一区二区三区在线播放 | 黄色网址av | 国产一区二区三区色淫影院 | 久久亚洲精品国产精品紫薇 | 性网站免费 | 毛片网络| a级片在线观看 | 欧美成人一区二区三区 | 亚洲精品99 | av一级久久 | 欧一区二区 | 日韩靠逼| 国产日韩一区二区三免费高清 | 久久久久网站 | 欧美一级二级在线观看 | 91免费在线视频 | 男人天堂手机在线视频 | 蜜桃一区二区三区 | 日韩免费高清视频 |