仓酷云

标题: 带来一篇mutt+msmtp+inotify 监控文件发送邮件 [打印本页]

作者: 逍遥一派    时间: 2015-1-14 20:45
标题: 带来一篇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

[root@mymail~]#tar-jxvfmsmtp-1.4.30.tar.bz2
[root@mymail~]#cdmsmtp-1.4.30
[root@mymailmsmtp-1.4.30]#./configure--prefix=/usr/local/msmtp
[root@mymailmsmtp-1.4.30]#make
[root@mymailmsmtp-1.4.30]#makeinstall
[root@mymail~]#tar-zxvfmutt-1.5.21.tar.gz
[root@mymail~]#cdmutt-1.5.21
[root@mymailmutt-1.5.21]#./configure--prefix=/usr/local/mutt
[root@mymailmutt-1.5.21]#make
[root@mymailmutt-1.5.21]#makeinstall

Msmtp+mutt设置装备摆设

[root@mymailmutt-1.5.21]#mkdir-p/usr/local/msmtp/etc
[root@mymailmutt-1.5.21]#vi/root/.msmtprc
hostmail.yylog.org#smtp地址
tlsoff
authplain
fromzbill@yylog.org
userzbill
password123456789
[root@mymailmutt-1.5.21]#vi/root/.muttrc
setsendmail="/usr/local/msmtp/bin/msmtp"#指定msmtp装置地位
setuse_from=yes
setfrom=zbill@yylog.org
setenvelope_from=yes
[root@mymailmutt-1.5.21]#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
[root@mymailmutt-1.5.21]#mkdir-p/usr/local/msmtp/log
[root@mymailmutt-1.5.21]#echosetsendmail="/usr/local/msmtp/bin/msmtp">>/etc/Muttrc
[root@mymailmutt-1.5.21]#echo"setuse_from=yes">>/etc/Muttrc
[root@mymailmutt-1.5.21]#echosetrealname="zbill@yylog.org">>/etc/Muttrc
[root@mymailmutt-1.5.21]#echoseteditor="vim">>/etc/Muttrc
[root@mymailmutt-1.5.21]#ln-s/usr/local/msmtp/bin/msmtp/usr/bin

邮件发送测试

发明发送报错



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

[root@mymailmutt-1.5.21]#/usr/local/mutt/bin/mutt-s"test"-c458162532@qq.com</.sh/1.sh
发明未收到邮件,检查体系版本cat/etc/issueredhat4.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






测试:

[root@localhost~]#cd/root/a

[root@localhosta]#ls

123abcrf

[root@localhosta]#rm-f*

[root@localhosta]#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

[root@localhosta]#cd

[root@localhost~]#./sendmail.sh

mailsend.......

[root@localhost~]#cat/tmp/monitor.log

[root@localhost~]#






欢迎大家来到仓酷云论坛!
作者: 山那边是海    时间: 2015-1-16 22:31
标题: 带来一篇mutt+msmtp+inotify 监控文件发送邮件
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
作者: 乐观    时间: 2015-1-25 19:46
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
作者: 莫相离    时间: 2015-2-4 01:08
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
作者: 不帅    时间: 2015-2-9 10:32
有疑问前,知识学习前,先用搜索。
作者: 仓酷云    时间: 2015-2-27 09:05
熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:
作者: 飘灵儿    时间: 2015-3-9 07:59
当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。
作者: 简单生活    时间: 2015-3-17 00:09
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
作者: 逍遥一派    时间: 2015-3-23 12:00
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2