linux下,文件的监控问题,要提示声音或短信告警
linux系统中:redhat
背景:/home/history目录下,每天都会生成一个类似:SPRD130930.61的文件,其中130930表示2013年9月30日,其余标志是恒定的,这种文件是文本文件,可以vi打开查看,其中内容类似下图所示。每一分钟左右此文件中会进行一次更新,一天24小时持续进行。
问题:现需要对此文件进行监控,监查它每一分钟是否有最新内容生成,没有的话就产生告警(声音或是短信都可以),有什么办法可以做到?
谢谢
补充:
内网环境,若是需要短信告警或是声音告警有什么具体的措施或是方法没?借助cacti是否可以?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
http://www.ibm.com/developerworks/cn/linux/l-inotifynew/
假若是使用inotify具体如何操作呢?
顶 inotify
python 有个watchdog
顶 楼上
顶 inotify
这个只是对文件内容的对比
这里以Ubuntu为例,做一个每分钟执行一次的定时任务,用diff比较文件,相同的话则发送邮件通知管理员“文件内容没有更新!”:
sudo su 切换到root用户
cd /root
touch test
touch
guard.sh
chmod +x guard.sh
nano guard.sh 脚本内容:
#!/bin/sh
if diff test SPRD*.61
then
echo "文件相同,也就是文件内容没有更新,发送邮件通知"
echo "
文件内容没有更新!"|mail -s "邮件标题" thankyou@163.com
else
echo "文件不相同,表明文件内容发生了变化"
cp SPRD*.61 test
fi
crontab -e 添加定时任务
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * /root/guard.sh
重载定时任务配置,确保修改生效:
/etc/init.d/cron reload
谢谢热情相助
引用来自“eechen”的答案
这里以Ubuntu为例,做一个每分钟执行一次的定时任务,用diff比较文件,相同的话则发送邮件通知管理员“文件内容没有更新!”:
sudo su 切换到root用户
cd /root
touch test
touch
guard.sh
chmod +x guard.sh
nano guard.sh 脚本内容:
#/bin/sh
if diff test SPRD*.61
then
echo "文件相同,也就是文件内容没有更新,发送邮件通知"
echo "
文件内容没有更新!"|mail -s "邮件标题" thankyou@163.com
else
echo "文件不相同,表明文件内容发生了变化"
cp SPRD*.61 test
fi
crontab -e 添加定时任务
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * /root/guard.sh
重载定时任务配置,确保修改生效:
/etc/init.d/cron reload