查看: 804|回复: 5

[笔记] 采集errorlog 脚本

[复制链接]
论坛徽章:
8
Oracle研习者高级
日期:2013-10-21 22:32:52Oracle研习者初级
日期:2013-04-18 13:19:15Oracle研习者初级
日期:2013-06-19 14:31:10Oracle研习者初级
日期:2013-08-08 23:04:01Oracle研习者高级
日期:2013-08-25 14:26:25Hadoop研习者初级
日期:2014-01-28 10:54:37Oracle研习者高级
日期:2014-09-19 14:27:30mysql徽章
日期:2015-06-04 15:07:28
发表于 2015-3-15 22:29 | 显示全部楼层 |阅读模式

脚本每次检查前,先查一下较大行数,然后记下来,然后从上次存储日志位置数的文件中取出位置数,然后使用sed 从上次检查的文件位置开始过来错误关键字(error和waring)然后用tee 将过滤出的错误收集起来/或存入数据库等,,,

#!/bin/bash

maxline=`wc -l /var/log/mySQLd.log|awk '{print $1}'`
lastline=`cat /tmp/errlogpos`
echo -n $maxline >/tmp/errlogpos
sed -n "$lastline,$p" /var/log/mysqld.log |grep ERROR   |tee /tmp/geterr.log

sed -n "$lastline,$p" /var/log/mysqld.log |grep Warning  |tee /tmp/getwaring.log


使用crontab 每分钟调度一次检查脚本,

crontab -e

*/1 * * * * /bin/bash /root/checklog.sh​


回复

使用道具 举报

论坛徽章:
1
Oracle研习者初级
日期:2015-06-18 11:45:01
发表于 2015-3-15 22:42 | 显示全部楼层
可使用开发工具
回复 支持 反对

使用道具 举报

论坛徽章:
2
Oracle研习者初级
日期:2014-09-19 13:51:34mysql徽章
日期:2015-06-04 15:07:28
发表于 2015-4-2 07:49 | 显示全部楼层
不错,参考下
回复 支持 反对

使用道具 举报

论坛徽章:
4
Oracle研习者中级
日期:2015-05-28 11:37:56Oracle研习者高级
日期:2015-06-18 11:38:31Oracle研习者初级
日期:2015-06-18 11:45:01数据陷阱解读徽章
日期:2015-08-13 15:21:45
发表于 2015-4-5 11:48 | 显示全部楼层
感谢分享,很实用.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-7-21 10:42 , Processed in 0.098045 second(s), 51 queries .

关闭

扫一扫加入
本版微信群