1.Linux下安装一个邮件客户端Msmtp软件(类似Foxmail工具)1.下载安装:http://downloads.sourceforge.net...206451&big_mirror=0#tarjxvfmsmtp-1.4.16.tar.bz2#cdmsmtp-1.4.16#./configure--prefix=/usr/local/msmtp#make#makeinstall2,创建msmtp配置文件和日志文件(主机是邮箱域名,邮箱用户名test,密码123456)#vim~/.msmtprcaccountdefaulthost126.comfromtest@126.comauthloginusertestpassword123456logfile~/.msmtp.log#chmod600~/.msmtprc#touch~/.msmtp.log3、mutt安装配置:(Linux下一般默认安装mutt)#vim~/.muttrcsetsendmail="/usr/local/msmtp/bin/msmtp"setuse_from=yessetrealname="memory"setfrom=test@126.comsetenvelope_from=yessetrfc2047_parameters=yessetcharset="utf-8"4.邮件发送测试(-s邮件标题,-a表格加附件)#echo"邮件内容123456"|mutt-s"Mailtitletestmail"-a/scripts/test.txttest@126.com2.使用free命令监控系统内存1.使用free命令查看linux系统内存使用情况:(inM)#free-m(执行结果如下)totalusedfreesharedbufferscachedMem:395234145380168484-/+buffers/cache:27601191Swap:81918681052,查看剩余空闲内存数值命令:(1)物理内存空闲值:#free-m|grep内存|awk'{print$4}'(2)缓冲区空闲值:#free-m|grep-|awk'{print$4}'(3)交换分区空闲值:#free-m|grep交换|awk'{print$4}'3.写一个内存监控的脚本文件:#vim/scripts/free-mem.sh#!/bin/bash#使用free命令监控linux系统的内存变化#获取系统当前时间(写入文件>>通过追加)date>>/scripts/date-time.txt#捕获物理内存的空闲值(通过追加写入文件>>)echoMem-free:`free-m|grep内存|awk'{print$4}'`M>>/scripts/mem-free.txt#抓取buffer的free值(以appended方式写入文件>>)echobuffers/cache-free:`free-米|grep-|awk'{print$4}'`M>>/scripts/buffers-free.txt#抓取Swap分区空闲值(在Writetothefilebyappending>>)echoSwap-free:`free-m|grep交换|awk'{print$4}'`M>>/scripts/swap-free.txt#逐行连接上面时间和内存相关行数据(rewritefile>eachtime)paste/scripts/date-time.txt/scripts/mem-free.txt/scripts/buffers-free.txt/scripts/swap-free.txt>/scripts/freemem.txt#chmoda+x/scripts/free-mem.sh#/scripts/free-mem.sh4。查看内存监控结果文件:#cat/scripts/freemem.txt5。编写免费结果文件电子邮件发送脚本:#vim/scripts/sendmail-mem.sh#!/bin/bash#将生成的freemem.txt文件通过邮件发送给用户#提取本服务器的IP地址信息IP=`ifconfigeth0|grep“inet地址”|剪切-f2-d":"|cut-f1-d""`#提取当前日期和时间today=`date-d"0day"+%YYear%mMonth%dDay`#发送内存监控结果邮件echo"这是$的内存监控报告IP服务器$today,请下载附件"|mutt-s"$IPserver$todaymemorymonitoringreport"-a/scripts/freemem.txttest@126.com#chmoda+x/scripts/sendmail-mem.sh3.监控系统swap分区Swap,并发送使用率超过80%时的警告邮件#vim/scripts/swap-warning.sh#!/bin/bash#提取此服务器的IP地址InformationIP=`ifconfigeth0|grep“inet地址”|切-f2-d“:”|cut-f1-d""`#系统分配的交换分区总数swap_total=`free-m|grep交换|awk'{print$2}'`#Currentremainingswappartitionfreesizeswap_free=`free-m|grep交换|awk'{print$4}'`#Currentlyusedswappartitionusedsizeswap_used=`free-m|grep交换|awk'{print$3}'`if((swap_used!=0));then#如果swap分区已经被使用,计算当前剩余空闲swap分区的百分比,以小数表示,在小数点前加一个整数0swap_per=0`echo"scale=2;$swap_free/$swap_total"|bc`#将swap分区的warning值设置为20%(即使用率超过80%时出现warning)。swap_warn=0.20#比较当前剩余的swap分区百分比和警告值(大于警告值(即剩余的20%)返回1,小于(即剩余的20%)remainingislessthan20%),则返回0)swap_now=`expr$swap_per>$swap_warn`#如果当前swap分区使用率超过80%(即剩余少于20%),以上返回值为等于0),如果(($swap_now==0)),立即发送电子邮件警告;thenecho"$IPserverswap仅$swap_freeMswap分区未使用,不足20%,使用率已超过80%,请及时处理。"|mutt-s"$IPservermemorywarning"test@126.comfifi#chmoda+x/scripts/swap-warning.sh4.加入任务计划:每十分钟检测一次内存,发送邮件如果有报警则立即(每十分钟一次),每天早上8:00发送一次内存检测结果邮件#crontab-e*/10****/scripts/free-mem.sh*/10****/scripts/swap-warning.sh08***/scripts/sendmail-mem.sh#servicecrondrestart以上是网友分享的利用Shell脚本实现邮件监控的好教程Linux系统内存。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。
