一个伪linux粉丝的blog

  1. 首页
  2. network
  3. 正文

iWatch monitor ftp site file created and send mail

2 3 月, 2011 2226点热度 0人点赞 0条评论

iWatch is written in Perl and based on inotify最近有一个需求,监控某台ftp服务器上是否有人上传了文件,然后自动发信通知。
要解决以上问题,当然是分2步,1,监视文件变化,2,发信通知。测试依然是在vps上实现.
首先要了解3个工具Inotify、iWatch、inotifywait.
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执行效率高啊。邮件前者要快一步。

相关文章:

  1. using msmtp send mail with gmail
  2. plowshare -- command-line application to download files for file-sharing websites
  3. Real Time Sync with Sersync
  4. crontab log error
标签: 暂无
最后更新:2 3 月, 2011

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.

归档
分类
  • network / 332篇
  • Uncategorized / 116篇
  • unix/linux / 121篇
  • 业界资讯 / 38篇
  • 公司杂事 / 11篇
  • 数码影像 / 12篇
  • 美剧 / 3篇
  • 美图共赏 / 21篇
  • 英语学习 / 3篇
标签聚合
postgres wget 邮件归档 deepseek Nginx 天翼live Google k8s 浏览器 d90 VPS dreamhost debian nexus 泰国 网站运营 gitlab docker ldap ssh openssl Ubuntu squid kernel jira google-chrome Google Voice dreamhost空间 虚拟主机 kubectl

COPYRIGHT © 2008-2025 wanjie.info. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang