我们的征途是星辰大海

My Conquest Is the Sea of Stars

iWatch monitor ftp site file created and send mail

《iWatch monitor ftp site file created and send mail》最近有一个需求,监控某台ftp服务器上是否有人上传了文件,然后自动发信通知。
要解决以上问题,当然是分2步,1,监视文件变化,2,发信通知。测试依然是在vps上实现.
首先要了解3个工具InotifyiWatchinotifywait.
Inotify 是一个 Linux 2.6.13以上内核的特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。效率很高。 上次我所用到的sersync文件同步就是基于inotify.

iWatch 是一个基于inotify简单的perl脚本,用来监控文件或目录的变化然后发送邮件。

inotifywait inotify-tools工具下的一个命令,同样基于inotify. 写上几行简单的脚本就可以开始监视文件并发信了。

1,使用 iWatch现成的perl脚本来监控文件变化并发信

a.下载  iwatch最新版 0.2.2 16K的小文件,地址  http://sourceforge.net/projects/iwatch/files/

iwatch常用命令如下:

./iwatch -r -e create -m [email protected] /home &

-r参数监视 /home文件夹以下目录和文件

-e events事件 此处监控 create 文件创建事件即可

-m 邮箱地址

更多参数请自行参考帮助 iwatch –help

当然运行iwatch时vps默认环境会缺少一些perl模块,按照提示安装即可。

大概步骤如下

  • perl -MCPAN -e shell 首先配置cpan初始环境 ,也可以之后cpan模式下运行 o conf init命令重新配置

cpan提示符下 cpan[1]>运行 install +缺失模块名

  • 如 cpan> install XML::LibXML
  • cpan> install Bundle::LWP
  • cpan> install XML::SimpleObject::LibXML
  • cpan> install Bundle::CPAN

搞定收工,iwatch所需模块装好后就可以运行iwatch命令了
./iwatch -r -e create -m [email protected] /home &
在配置好邮件服务之后,当ftp服务器上有人开始上传后会收到如下类似内容的邮件、
主题 [iWatch] wanjie.info: IN_CREATE /home/F017/sina-vs-youku-tudou.jpg
正文 [ 2/Mar/2011 15:30:52] IN_CREATE /home/F017/sina-vs-youku-tudou.jpg
大功告成,最后看了下iwatch帮助,发现可以使用xml格式的配置文件 如 iwatch -f config.xml
这样iwatch可以监视多个路径下的文件里,更据实用价值。
~~~~~~~~~手动分割线~~~~~~~~~~~~~~~~~~~
下面再来讲讲谈谈 inotifywait配合shell脚本实现文件监控与邮件发送的办法。
即方法2.呵呵。当时自己没搞定iwatch在perl下的缺失模块,找到了这个小工具。然后写了一个不咋样的脚本,也实现了监控及邮件发送的需求。
下载地址 inotifywait
centos可以直接安装 yum install inotify-tools
俺的自编脚本来了,呵呵。下载地址 http://vpscloud.googlecode.com/files/inotifywait-sendmail-shell.sh
#!/bin/sh
inotifywait -e create -mrq /home|while read line;
do
echo -n "$line " >> /var/log/inotify.log
echo `date | cut -d " " -f1-4` >> /var/log/inotify.log
mail -s "user works was upload success" < /var/log/inotify.log [email protected]
done

开始监视后收到类似邮件
/home/F017/ CREATE sersync2.txt Wed Mar 2

大功告成!

怎么感觉inotifywait比iwatch执行效率高啊。邮件前者要快一步。《iWatch monitor ftp site file created and send mail》

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据