您当前的位置:网站首页>李洪涛,丙二醇-开心麻花演员,开心的秘籍

李洪涛,丙二醇-开心麻花演员,开心的秘籍

2019-06-04 07:36:58 投稿作者:admin 围观人数:307 评论人数:0次
在这篇指南中咱们计划写一个 shell 脚原本监控体系的磁盘空间运用率。当体系抵达给金红杨定的阀值,它将给对应的邮件地址发送一封邮件。
-- Magesh Maruthamuthu

商场上有许多用来监控 Linux 体系的监控东西,当体系抵达阀值后它将发送一封邮件。它监控一切的东西例如 CPU 利用率、内存利用率、交流空间利用率、磁盘空间利用率等等。可是,它更适合小环境和大环境。

想一想假如你只要少数体系,那么什么是最好的办法来应对这种状况。

是的,咱们想要写一个 shell 脚本 来完结。

在这篇指南中咱们计划写一个 shell 脚原本监控系豆蔻统的松本若菜磁盘空间运用率。当体系抵达给定的阀值,它将给对应的邮件地址发送一封邮件。在这篇文章中咱们一共添加了四个 shell 脚本,每个用于不同的意图。之后,咱们会想出其他 shell 脚原本监控 CPU,内存和交流空间利用率。

在此之前,我想弄清一件事,依据我调查的磁盘空间运用率 shell 脚本运用状况。

大多数用户在多篇博客中评论说,当他们运转磁盘空间运用率脚本时他们获得了以下过错。

  1. # sh /opt/script/disk-usage-alert-old.sh
  2. /dev/mapper/vg_2g-lv_root
  3. test-script.sh: line 7: [: /dev/mapper/vg_2g-lv_r李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍oot: integer expression expected
  4. / 9.8G

是的,这是对的。乃至,当我第一次运转这个脚本的时分我遇到了相同的问题。之后,我发现了根本原因。

当你在根据 RHEL 5 & RHEL 6 的体系上运转包括用于磁盘空间正告的 df -h 或 df -H 的 shell 脚本中时,你会发现上述过错信息,由于输出格局不对,检查下列输出。

为了处理这个问题,咱们需要用 df -Ph (POSIX 输出格局),可是默许的 df -h 在根据 RHEL 7 的体系上运转的很好。

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

办法一:Linux Shell 脚原本监控磁盘空间运用率和发送邮件

你能够运用下列 she李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍ll 脚本在 Linux 体系中来监控磁盘空间运用率。

当体系抵达给定的阀值约束时,它将发送一封邮件。在这个比如中,咱们设置阀值为 60% 用于测验意图,你能够改动这个约束来契合你的需求。

假如超越一个文件体系抵达给定的阀值,它将发送多封邮件,由于这个脚本运用了循环。

相同,替换你的邮件地址来获取这份正告。

  1. # vi /opt/script/disk-usage-alert.sh
  2. #!/bin/sh
  3. df -Ph | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5,$1 }' | while 蜂王浆read output;
  4. do
  5. echo $output
  6. used=$(echo $output | awk '{print $1}' |甲午战争 sed s/%//g)
  7. partition=$(echo $output | awk '{print $2}')
  8. if [ $used -ge 60 ]; then
  9. echo "The partition \"$partition\" on $(hostname) has used $used% at $(date)" | mail -s "Disk Space Alert: $used% Used On $(hostname)" [email protected]
  10. fi
  11. 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. The partition "/dev/mapper/vg_2g-lv_root" on 2g.CentOS7 has used 67% at Mon Apr 29 06:16:14 IST 2019

终究添加了一个 cronjob 来主动完结。它会每 10 分钟运转一次。

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

办法二:Linux Shell 脚原本监控磁盘空间运用率和发送邮件

作为替代,你能够运用下列的 shell 脚本。比照上面的脚本咱们做了少数改动。

  1. # vi /opt/script/disk-usage-alert-1.sh
  2. #!/文林佳苑bin/sh
  3. df -李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍Ph | grep -vE '^Filesystem|tmpfs|cdrom' | a李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍wk '{ print $5,$1 }' | whi处男le read output;
  4. do
  5. max=60%
  6. echo $output
  7. used=$(echo $output | awk '{print $1}')
  8. partition=$(echo $output | awk '{print $2}')
  9. if [ ${used%?} -ge ${max%?} ]; then
  10. ec愤恨的小鸟2ho "The partition \"$partition\" on $(hostname) has used $used at $(date)" | mail -s "Disk Space Alert: $used Used On $(hostnwhateverame)" [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. The partition "/dev/mapper/vg_2g-lv_root" on 2g.CentOS7 has used 67% at Mon Apr 29 06:16:14 IST 2019

终究添加了一个 cronjob 来主动完结。它会每 10 分钟运转一次。

  1. # crontab -e
  2. */10 * * * * /bin/bash /opt/script/disk-usage-al宿世ert-1.sh

办法三:Linux Shell 脚原本监控磁盘空间运用率和发送邮件

我更喜爱这种办法。由于,它作业起来很有法力,你只会收到一封关于一切事的邮件。

这适当简略和直接。

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

输kangaroo出: 我获得了一封关于一切正告的邮件。

  1. Filesystem Size Us简靖纹ed 吸奶头Avail Use Mo斗宝斋unted on
  2. /dev/mapper/v李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍g_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 脚原本监控某个分区的磁盘空间运用状况和发送邮件

  1. # vi /opt/script/disk-usage-alert-2.sh
  2. #!/bin/bash
  3. used=$(df -Ph | grep '/dev/mapper/vg_2g-lv_dbs' | awk {'print $5'})
  4. max=80%
  5. if [ ${used%?} -ge ${max%?} ]; then
  6. ec球球大作战下载h李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍o "The Mount Point "/DB" on $(hostname) has used $used at $(date)" | mail -s "Disk space alert on $(hostname): $used used" [email protected]
  7. 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

最金玉良缘终添帆布鞋踩加了一个 cronjob 来主动完结这些作业。它将每 10 分钟运转一次。

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

留意: 你将在 10 分钟后收到一封邮件正告,由于这个脚本被计划为每 10 分钟运转一次(但也不是准确的 10 分钟,取决于时刻)。

例如这个比如。假如你的体系在 8:25 抵达了约束,你将在 5 分钟后收到邮件正告。期望现在讲清楚了。


via: https://www.2李洪涛,丙二醇-高兴麻花艺人,高兴的秘籍daygeek.com/linux-shell-script-to-monitor-disk-space-usage-and-send-email/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:warmfrog 校正:wxy

本文由 LCTT 原创编译,Linux我国 荣誉推出


the end
开心麻花演员,开心的秘籍