Chinaunix首页 | 论坛 | 博客
  • 博客访问: 704973
  • 博文数量: 98
  • 博客积分: 3145
  • 博客等级: 中校
  • 技术积分: 1902
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-15 12:52
文章分类
文章存档

2021年(1)

2020年(1)

2016年(8)

2015年(3)

2014年(1)

2013年(5)

2012年(4)

2011年(9)

2010年(12)

2009年(42)

2008年(12)

我的朋友

分类: LINUX

2009-09-24 17:18:02

1.功能
      实现检查日志上传的是否正确
      实现在不正确时自动重新上传
      实现在重新上传错误后,再通过短信或邮件报警
2.需要资源
  短信报警服务器(短信猫)
3. 程序
#! /bin/sh
YESTER=`date -d "yesterday" +%Y.%m.%d`
OLDDAY=`date +%Y.%m.%d -d '2 day ago'`
#报警程序
alarm() {
for errhost in `cat /tmp/logerr.log|awk '{print $2}'`
do
wget "= ${errhost} put error" -o /dev/null&
rm -rf ./*alert.php*
done
}
#日志检查程序
check() {
for i in `cat /opt/sbin/monitor/dirlist.txt|awk '{print $1}'`
do
NUM1=`find ${i} -name "*access_${YESTER}*"|wc -l`
NUM2=`find ${i} -name "*access_${OLDDAY}*"|wc -l`
INFO=`cat /opt/sbin/monitor/dirlist.txt|grep ${i}`
if [ "${NUM1}" != "${NUM2}" ]
then
echo ${INFO} >>/tmp/logerr.log
fi
done
}
#日志重新上传程序,这里需要在传日志的服务器上部署日志上传脚本
ftprepeat(){
for errhost in `cat /tmp/logerr.log|awk '{print $2}'`
do
ssh -lroot ${errhost} "/bin/sh /opt/sbin/reputlog.sh"
done
}
check ;
if [ -f /tmp/logerr.log ]
then
ftprepeat ;
rm -rf /tmp/logerr.log
fi
sleep 300;
check ;
if [ -f /tmp/logerr.log ]
then
alarm ;
rm -rf /tmp/logerr.log
fi
阅读(1183) | 评论(0) | 转发(0) |
0

上一篇:基础命令之系统状态

下一篇:SED

给主人留下些什么吧!~~