셸 지정 시간 내 로 그 를 감청 하고 curl 요청 을 실행 합 니 다.

장면
  • 개발 환경 수집 오류 로 그 를 기업 위 챗 군 에 보 내 개발 자 들 로 하여 금 오류 에 관심 을 가지 게 한다
  • 서버 로그 파일 은 매일 압축 파일 이 있 습 니 다. 같은 이름 의 파일 을 새로 만 들 었 습 니 다. tail 이 실 행 될 때 새 파일 을 읽 지 않 고 풀 리 지 않 는 것 을 방지 하기 때문에 스 크 립 트 는 항상 백 엔 드 에 상주 하지 않 고 사용 할 때 프로 세 스 를 시작 합 니 다.테스트 및 사전 발표 환경 에 적용
  • 코드
    end_time=($(date +%s -d '+30 seconds')) && tail -f ***.log | \
    while read LogLine; \
    do \
    if [[ "${LogLine}" == *"match_string"* ]]; then \
    curl -X POST http://mydomain.com/notify -H 'Content-Type: application/x-www-form-urlencoded' \
     -d "message=${LogLine}"; \
    fi; \
    current_time=$(date +%s);  \
    if [[ $current_time -gt $end_time ]]; then break; fi; \
    done
    
  • end_time 설정 명령 몇 초 후 종료
  • tail - f * *. log ***.log 는 지정 한 로그 파일
  • 입 니 다.
  • match_string 은 match_string(替换成自己想匹配的字符串) 로그 항목
  • 과 일치 해 야 합 니 다.
  • http://mydomain.com/notify 대응 하 는 인터페이스 주소
  • 좋은 웹페이지 즐겨찾기