【就业班作业】【第八周】工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警

工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警

第一步:编写检查分区利用率脚本。

#!/bin/bash
#
WarningValue=80
df | sed -rn '/^\/dev\/.*/s#(^\/dev/[^[:space:]]+).*[[:space:]]([0-9]+)%.*#\1 \2#p' | while read DiskPart Used;do if [ $Used -ge $WarningValue ];then echo "The Host $HOSTNAME $DiskPart Used $Used%, The DiskPart is fulled" | mail -s "The Host $HOSTNAME DiskPart fulled" root@localhost fi done

第二步:添加周期性任务到crontab.

[root@localhost data]# crontab -e
crontab: installing new crontab
[root@localhost data]# crontab -l
*/10 * * * 1-5 /data/diskpartusedcheck.sh
[root@localhost data]#

实验结果:(为演示实验效果,将告警值调到10,时间间隔为每2分钟执行一次,以便测试)

[root@localhost data]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N  1 root                  Tue Sep 22 09:38  18/720   "The Host localhost.localdomain DiskPart fulled"
& 1
Message  1:
From root@localhost.localdomain  Tue Sep 22 09:38:01 2020
Return-Path: <root@localhost.localdomain>
X-Original-To: root@localhost
Delivered-To: root@localhost.localdomain
Date: Tue, 22 Sep 2020 09:38:01 +0800
To: root@localhost.localdomain
Subject: The Host localhost.localdomain DiskPart fulled
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@localhost.localdomain (root)
Status: R

The Host localhost.localdomain /dev/sda1 Used 14%, The Part is fulled

&

(结束)

mail
-s:指定邮件标题
交互命令是可以简化输入的,比如"headers"命令,就可以直接输入"h",这是列出邮件标题列表的命令。
常用的交互命令。

headers:列出邮件标题列表,直接输入"h"命令即可。

delete:删除指定邮件。比如想要删除第二封邮件,可以输入"d2"。

save:保存邮件。可以把指定邮件保存成文件,如"s 2/tmp/test.mair。

quit:退出,并把已经操作过的邮件进行保存。比如移除已删除邮件,保存已阅读邮脾。

exit:退出,但是不保存任何操作。

posted @ 2020-09-22 09:43  sankeya  阅读(237)  评论(0编辑  收藏  举报