【就业班作业】【第八周】工作日时间,每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:退出,但是不保存任何操作。