逍遥一派 发表于 2015-1-14 20:45:58

带来一篇mutt+msmtp+inotify 监控文件发送邮件

欢迎大家来到仓酷云论坛!情况需求:inotify请求体系内核版本为2.6.13以上
请求redhat体系必需为5.0以上



软件需求:inotify-tools-3.14.tar.gz
mutt-1.5.21.tar.gz
msmtp-1.4.30.tar.bz2



完成成果:通用监控指定目次中文件的增减改等操作,并把操作的举措发到指定邮箱告诉


步调:
1.装置inotify
wgethttp://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
tar-zxvfinotify-tools-3.14.tar.gz
cdinotify-tools-3.14
./configure--prefix=/usr/local/inotify
make&&makeinstall

装置完成后生成/usr/local/inotify/bin/inotifywait及/usr/local/inotify/bin/inotifywatch敕令,inotifywait用来监控文件体系的更改,inotifywatch用来统计更改文件体系事宜。


Inotifywait参数
-m--monitor##一直监控
-r--recursive##递归
-q--quiet##打印监控事宜
-e--event##指出要监控的事宜,有:modify,delete,create,attrib等
--timefmt##时光格局
--format##变更文件的具体信息

具体参数请检查http://muxu303.blog.163.com/blog/static/512801920121204449935/


inotify测试
应用inotifywait-mrq--timefmt%d/%m/%y%H:%M--format%T%w%e-emodify,delete,create,attrib监控/data目次,然后在/data下创立一个文件,看看能否有变更
/usr/local/inotify/bin/inotifywait-mrq--timefmt%d/%m/%y%H:%M--format%T%w%e-emodify,delete,create,attrib/data
16/02/1311:01/data/CREATE
16/02/1311:01/data/MODIFY
echo"notifydatatest...">/data/test.bat

假如测试掉败,请检查体系的内核版本(unameCa)能否相符请求
2.装置mutt+msmtp
#tar-jxvfmsmtp-1.4.30.tar.bz2
#cdmsmtp-1.4.30
#./configure--prefix=/usr/local/msmtp
#make
#makeinstall
#tar-zxvfmutt-1.5.21.tar.gz
#cdmutt-1.5.21
#./configure--prefix=/usr/local/mutt
#make
#makeinstall

Msmtp+mutt设置装备摆设

#mkdir-p/usr/local/msmtp/etc
#vi/root/.msmtprc
hostmail.yylog.org#smtp地址
tlsoff
authplain
fromzbill@yylog.org
userzbill
password123456789
#vi/root/.muttrc
setsendmail="/usr/local/msmtp/bin/msmtp"#指定msmtp装置地位
setuse_from=yes
setfrom=zbill@yylog.org
setenvelope_from=yes
#vi/usr/local/msmtp/etc/msmtprc
defaults
accountzbill
hostmail.yylog.org
fromzbill@yylog.org
authlogin
port25
tlsoff
userzbill@yylog.org
password123456789
accountdefault:zbill
logfile/usr/local/msmtp/log/msmtp.log
#mkdir-p/usr/local/msmtp/log
#echosetsendmail="/usr/local/msmtp/bin/msmtp">>/etc/Muttrc
#echo"setuse_from=yes">>/etc/Muttrc
#echosetrealname="zbill@yylog.org">>/etc/Muttrc
#echoseteditor="vim">>/etc/Muttrc
#ln-s/usr/local/msmtp/bin/msmtp/usr/bin

邮件发送测试

发明发送报错



多是选择的发送邮箱的邮件办事器有成绩,换成smtp.163.com后测试发送正常

#/usr/local/mutt/bin/mutt-s"test"-c458162532@qq.com</.sh/1.sh
发明未收到邮件,检查体系版本cat/etc/issue为redhat4.6,因而换了台redhat5.2的体系测试发送胜利了,所以要留意体系版本成绩

3.设置装备摆设mutt+msmtp+inotify
编写监控剧本
Vimonitor.sh
#!/bin/bash
clear
src=/root/a//监控的目次
/usr/local/inotify/bin/inotifywait-m-r-d-o/tmp/monitor.log--timefmt%F%T--format%T%w%f%e-emodify,attrib,move,close_write,create,delete,delete_self$src





编写发送邮件剧本
Visendmail.sh
#!/bin/bash
clear
path_f=/tmp/monitor.log
email=458162532@qq.com


functionmutt_send()
{
/usr/local/bin/mutt-s"WARN"-c$email<$path_f
}


if[-s$path_f];then
echo"mailsend.......";sleep1
/usr/local/bin/mutt-s"WARN"-c$email<$path_f
fi
cat/dev/null>$path_f//发完邮件有对文件停止清空






(在履行剧本./sendmail.sh的时刻会有报错:-bash:./file.sh:/bin/bash^M:badinterpreter:Nosuchfileordirectory
毛病缘由很有多是你的剧本文件是DOS格局的,即每行的行尾以
来标识,其ASCII码分离是0x0D,0x0A.
检查剧本格局:setff?会显示fileformat=dos应用setff=unix修正格局从新履行便可)



后台运转监控剧本
nohup/bin/bash/root/monitor.sh&


把发送邮件的剧本参加筹划
CrontabCe
*/5****/bin/bash/root/sendmail.sh
保留加入偏重启办事
/etc/init.d/crondrestart





测试:
#cd/root/a
#ls
123abcrf
#rm-f*
#cat/tmp/monitor.log
2013-07-1904:40:04/root/a/123DELETE
2013-07-1904:40:04/root/a/abcDELETE
2013-07-1904:40:04/root/a/rfDELETE
#cd
#./sendmail.sh
mailsend.......
#cat/tmp/monitor.log
#





欢迎大家来到仓酷云论坛!

山那边是海 发表于 2015-1-16 22:31:45

带来一篇mutt+msmtp+inotify 监控文件发送邮件

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。

乐观 发表于 2015-1-25 19:46:36

然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。

莫相离 发表于 2015-2-4 01:08:59

硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。

不帅 发表于 2015-2-9 10:32:53

有疑问前,知识学习前,先用搜索。

仓酷云 发表于 2015-2-27 09:05:40

熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:

飘灵儿 发表于 2015-3-9 07:59:26

当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。

简单生活 发表于 2015-3-17 00:09:11

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

逍遥一派 发表于 2015-3-23 12:00:04

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。
页: [1]
查看完整版本: 带来一篇mutt+msmtp+inotify 监控文件发送邮件