开发壳脚本判断系统内存剩余的大小,如果低于3000MB。就用邮箱报警给系统管理员。将脚本加入定时任务,每三分钟执行一次。
整理思路
(1)分析需求
明白开发的需求,是完成程序的大前提,因此,分析需求至关重要,一切不以需求为主的程序的开发都是瞎扯淡。
(2)设计思路
设计思路就是根据需求,吧需求进行拆解,分模块逐步实现,例如本脚本:
1)获取当前的系统剩余内存值
2)配置邮件报警
3)判断值是否小于3000,小于则报警
4)编写外壳脚本。
5)加入自动任务,没三分钟一次
(3)编码实现
1)获取内存值,注意:内存剩余值是下面命令中对应缓冲器/高速缓存的哪一行结尾的数值 这里的2845是系统内存的剩余量,因为Linux的系统有缓冲和缓存的特性,把系统多余的内存临时用于缓存和缓冲,提升以性能系统-状语从句:效率 使用awk中过滤出来内存剩余量。 2)发邮件的客户端一般有邮件或狗;服务端有sendmail的服务,后缀服务这里不实用本地的邮件服务,而是使用本地的邮件可无端,以及第三方的邮件服务商,例如:163 .com,qq.com等。 配置邮箱:vim /etc/mail.rc
加入下面两行:
设置自=sss@qq.com smtp = smtp.qq.com
设置账户设置smtp服务器
设置smtp-auth-user=sss@qq.com smtp-auth-password = 1345678d5 smtp-auth = login
设置用户名设置密码
3)编写外壳脚本
#斌/庆典!
#当本机内存小于300时候发送警报到邮件
free =`free -m | awk'/ - \ / + / {print $ NF}'`
if [$ free -lt 3000]
然后回显“$ HOSTNAME:`date +%F-%T`:警告!免费内存是$ free MB”| 邮件 - 内存警告!' 1789964659@qq.com
fi
(4)执行测试
source free.sh