windows日志监控

  bat脚本,主要作用,每个五分钟读取日文本件中新增内容,进行错误赛选,如果有错误信息,将错误信息用邮件发送给管理员。

  其中awk和sed需要手动下载

 

:读取number.txt文档,获取上一次执行时文件的行数

for /f "delims=" %%f in (number.txt) do (
set a=%%f
)

:读取新增行,进行ERROR筛选,将赛选信息导入err文件中

D:\tools\awk\awk.exe '{print NR" "$0}' D:\unitrade\esblls\logs\app.log | D:\tools\sed\sed.exe -n "%a%,$p" | findstr "ERROR" > error_tj.log

:上面这条是本脚本最费时间的地方,因为当我在awk 'NR>%A%{PRINT}的时候一直报错,所以就加了sed赛选起始行

set var="error_tj.log"

:获取文件行数,如果为null,则没有报错

for /f "delims=" %%i in (%var%) do (

set /a n+=1

)

:::::::::::::: 发送邮件参数设置::::::::::::::
set from=xxx@163.com
set user=xxx
set pass=xxx
set to=收件人
set subj=日志监控
set mail=error_tj.log
set attach=*.jpg
set server=smtp.163.com
set debug=-debug -log blat.log -timestamp

:判断err文件中是否有数据,有的话就将err文件通过邮件发送给管理员

if %n% GTR 0 ( D:\tools\Blat250\full\blat.exe %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -attach %attach% -server %server% -f %from% -u %user% -pw %pass% %debug% )

:获取最新的行号,并记录到number.txt文件中

D:\tools\awk\awk.exe '{print NR}' D:\unitrade\esblls\logs\app.log | D:\tools\sed\sed.exe -n "$p" > number.txt

转载于:https://www.cnblogs.com/GXLo/p/5207702.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值