답변:
output=$(grep line /var/log/file); [[ -n "$output" ]] && mail -s Log email@domain.tld
또는 이것을 cron 작업으로 만든 다음 출력을 생성하면 사용자에게 전자 메일을 보냅니다. / etc / aliases 파일을 편집 한 다음 newaliases 명령을 실행하여 상자에없는 주소로 메일을 보낼 수 있습니다.
cron 항목의 Ex (제목 줄을 설정할 수 없습니다.
1 0 * * * grep line /var/log/file
또는 ifne 유틸리티를 얻을 수 있습니다-아마도 원하는 것입니다.
grep 라인 / var / log / file | ifne mail -s 로그 email@domain.tld
ifne 명령은 centos와 RHEL을 위해 epel repo에서 사용할 수 있습니다. 온라인 맨 페이지에 대한 링크를 찾을 수 없지만
ifne (1)
ifne (1)NAME ifne-표준 입력이 비어 있지 않은 경우 명령 실행
시놉시스 ifne [-n] 명령
DESCRIPTION ifne은 표준 입력이 비어 있지 않은 경우에만 다음 명령을 실행합니다.
옵션 -n 역 동작. 표준 입력이 비어 있으면 명령을 실행하십시오.
Note that if the standard input is not empty, it is passed through ifne in this case.
예 찾기. 이름 코어 | ifne mail -s "핵심 파일이 발견되었습니다"루트
저자 저작권 2008 년 Javier Merino
Licensed under the GNU GPL 2008-05-01 ifne(1)
ifne
에서 발견되는 moreutils
우분투 패키지로 제공된다. 불행히도 그 패키지는 패키지 parallel
의 parallel
명령 과 충돌하는 원인 이 parallel
됩니다.
"man mail"은 -E 인수가 body가 비어 있으면 메일 전송을 중지한다고 알려줍니다. 나를 위해 잘 작동합니다.
-이자형
발신 메시지의 첫 번째 또는 유일한 메시지 부분에 텍스트가 포함되어 있지 않으면 메시지를 보내지 말고 자동으로 삭제하여 프로그램 시작시 skipemptybody 변수를 효과적으로 설정하십시오. cron (8)로 시작된 스크립트에서 메시지를 보내는 데 유용합니다.
mail
또는 mailx
명령을 제공하는 여러 개의 대체 패키지가 있습니다. bsd-mailx
및 heirloom-mailx
패키지 둘 다 제공 mailx
와 -E
옵션이 여기에 설명.
grep "find me" /var/log/something | mail -s "That text you were looking for is now in the logs" -E mail@example.com
ifne을 사용 하십시오 :
grep line /var/log/file | ifne mail -s Log email@domain.tld