Я пытаюсь написать пакетный файл, чтобы отслеживать файл журнала для слова «rdy» в строке и предупреждать, если значение против rdy меньше 200
извлечь из моего файла журнала, как показано ниже:
[Sun Jun 23 11:00:00 2013] [notice] mpmstats: rdy 249 bsy 1 rd 0 wr 1 ka 0 log 0 dns 0 cls 0
[Sun Jun 23 11:00:02 2013] [error] [client 10.25.134.1] File does not exist: E:/htdocs/default/KeepAlive.html
Я написал базовый сценарий (все еще на моем L), который отслеживает файл error.log в определенном каталоге. Проблема в том, что есть журналы ошибок за несколько дней, и я хочу отслеживать текущий журнал ошибок.
@echo off
set log=E:\scripts\busycheckalert.log
set Time=%time:~0,5%
set Today=%date:~4,2%
set Month=%date:~7,2%
set Year=%date:~12,2%
set file=E:\logs\ihs\Default\error.log.%Month%.%Today%.%Year%
echo Polling %file% at %Time% >> %log%
for /f "usebackq delims=;" %%a in (`dir /b E:\logs\ihs\Default\error.log.%Month%.%Today%.%Year%`) do (
echo Checking now >> %log%
for /f "tokens=8,9 delims= " %%a in (E:\logs\ihs\Default\error.log.%Month%.%Today%.%Year%) do (
echo Doing Checks >> %log%
if %%j LEQ 200 echo %Today%-%Month%-%Year% at %Time% Error - Ready threshold exceeded >> %log% in %%a ))
Мне удается добраться до первого контрольно-пропускного пункта "Сейчас проверяю". Однако, похоже, он не входит во второй цикл.
Это выдержка из результирующего файла журнала:
Polling E:\logs\ihs\Default\error.log.06.23.13 at 22:48
Checking now
Polling E:\logs\ihs\Default\error.log.06.23.13 at 22:49
Checking now
Polling E:\logs\ihs\Default\error.log.06.23.13 at 22:50
Checking now
Не могли бы вы посоветовать, где я ошибаюсь? Любая помощь будет здорово.
Спасибо
if %%j LEQ 200
что такое%%j
?? - person Endoro   schedule 23.06.2013