![grep은 결과가 발견되면 error_log 및 이메일만 검색합니까?](https://linux55.com/image/82661/grep%EC%9D%80%20%EA%B2%B0%EA%B3%BC%EA%B0%80%20%EB%B0%9C%EA%B2%AC%EB%90%98%EB%A9%B4%20error_log%20%EB%B0%8F%20%EC%9D%B4%EB%A9%94%EC%9D%BC%EB%A7%8C%20%EA%B2%80%EC%83%89%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
Grep을 사용하여 파일을 검색하고 결과에 따라 이메일을 보낼 수 있습니까?
나는 사용해왔다
grep SEARCHSTRING /logs/error_log | mailx -s subject [email protected]
하지만 Null이 발생하면 이메일을 보내는 것을 원하지 않습니다(결과 없음).
답변1
mailx
grep
명령이 성공을 반환 하면 , 즉 일치하는 항목이 발견되면 다음을 실행할 수 있습니다.
body="$(grep SEARCHSTRING /logs/error_log)" && echo "$body" | mailx -s subject [email protected]
출력 grep
(있는 경우)을 변수에 저장하고 명령이 성공 body
하면 grep
메시지 본문으로 실행합니다 mailx
.$body
답변2
output="$(grep SEARCHSTRING /logs/error_log)"
test -n "$output" && echo "$output" | mailx -s subject [email protected]