проверить файл журнала, если состояние задания не запущено

Я хотел бы создать сценарий оболочки Linux, который читает файл журнала.

, например. У меня есть файл журнала со строками:

Job: One(106) started.
Job: Two(107) started.
Job: Name(111) started.
Job: EXE(112) started.
Job: SMTG(117) started.
...........
.....
...

Я хочу создать сценарий, который проверяет все задания и отправляет электронную почту, если статус задания не запущен. Статус работы может быть ошибкой, заблокирован, остановлен и т.д. Я не знаю, как написать скрипт, чтобы точно проверять, не запущен ли статус.

0
12.12.2016, 13:56
2 ответа
grep -v 'Job:.*started.' yourfile.log | while read line; do
    # your not started line is here
    echo $line
done 

Небольшое объяснение: grep прочитает ваш файл и отфильтрует строки, соответствующие шаблону, поэтому мы не матч начал вакансии. Если вы читаете не начатые строки, вы можете заменить echo $ line и отправить туда электронное письмо.

0
28.01.2020, 02:47
awk '$0!~/started/{print}' logfile | mail -s "Jobs not started" abc@xyz.com
1
28.01.2020, 02:47

Теги

Похожие вопросы