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]