작업 상태가 시작되지 않은 경우 로그 파일을 확인하십시오.

작업 상태가 시작되지 않은 경우 로그 파일을 확인하십시오.

로그 파일을 읽는 Linux 쉘 스크립트를 만들고 싶습니다.

예를 들어. 다음 줄이 포함된 로그 파일이 있습니다.

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

모든 작업을 확인하고 작업 상태가 시작되지 않은 경우 이메일을 보내는 스크립트를 만들고 싶습니다. 작업 상태는 오류, 잠김, 중지됨 등일 수 있습니다. 상태가 시작되지 않았는지 정확하게 확인하는 스크립트를 작성하는 방법을 모르겠습니다.

답변1

awk '$0!~/started/{print}' logfile | mail -s "Jobs not started" [email protected]

답변2

grep -v 'Job:.*started.' yourfile.log | while read line; do
    # your not started line is here
    echo $line
done 

간단한 설명: grep파일을 읽고 패턴과 일치하는 줄이 필터링되므로 시작된 작업과 일치하지 않습니다. 그런 다음 echo $line이메일을 교체하고 보낼 수 있는 시작되지 않은 줄을 읽고 있습니다 .

관련 정보