创建脚本free.sh
#!/bin/bash#需求:实时监控本机内存和硬盘的剩余空间,剩余内存小于500M时、根剩余空间小于1000M时,发送报警邮件给管理员#1.获取剩余内存free_memory=`free -m |awk 'NR==2{print $4}'`#2.获取剩余磁盘空间free_hard=`df -BM |awk 'NR==6{print $4}'` |sed 's/M//'#3.如果内存和硬盘空间达到阈值,发送邮件if [ $free_memory -le 500 ];then#写邮件echo "当前可用内存是:$free_memoryM" >> /tmp/messages.txtecho "当前内存不足,请转进维护服务器" >> /tmp/messages.txt#发邮件mail -s "当前可用内存是$free_memotyM" libai@ < /tmp/messages.txtfiif [ $free_hard -le 1000 ];then#写邮件echo "当前可用硬盘是:$free_hardM" >> /tmp/messages.txtecho "当前硬盘空间不足,请抓紧时间维护" >> /tmp/messages.txt#发邮件mail -s "当前可用硬盘空间是$free_memotyM" libai@ < /tmp/messages.txtfi#邮件地址 配置为 libai@,要提前配好。配置文件是/etc/mail.rc
将上述脚本加入定时任务,每3分钟运行一次
通过如下命令进入编辑定时任务的文件里:
crontab -e
#t添加如下内容
* /3 * * * * bash /root/free.sh