error.log 내용을 보내는 Sendmail

error.log 내용을 보내는 Sendmail

Ubuntusendmail: , mailx또는 mail(사용 가능한 모든 항목)을 사용하여 이메일을 보내려고 합니다 . 로그 파일의 내용을 메시지로 보내려고 합니다. 로그는 에 있습니다 /var/log/nginx/error.log.

오류 로그에 변경된 내용이 있는지 확인하기 위해 매시간 cron을 실행하고 있으며, 변경된 경우 오류 로그를 이메일로 나 자신에게 보내려고 합니다. sendmail과 mailx 및 mail을 사용한 정기적인 테스트는 나에게 잘 작동합니다.

이것공장(그러나 내가 원하는 것은 아닙니다):
echo "My test email being sent from sendmail" | /usr/sbin/sendmail [email protected]

나는 다음을 시도했습니다(그들 중 어느 것도 나에게 적합하지 않았습니다): , , , , 분명히 여기 초보자입니다.
sendmail [email protected] < /var/log/nginx/error.log
/var/log/nginx/error.log | /usr/sbin/sendmail [email protected]
cat /var/log/nginx/error.log | /usr/sbin/sendmail [email protected]
mailx [email protected] < /var/log/nginx/error.log
cat /var/log/nginx/error.log | mailx [email protected]

답변1

Sendmail은 표준 입력을 통해 이메일 헤더와 본문을 가져올 것으로 예상합니다.
[이메일 헤더 + 빈 줄 + 이메일 본문 ]
헤더를 제공하지 못했습니다.

아래 스크립트를 시도해 보세요.

#!/bin/sh
( 
   echo subject: /var/log/nginx/error.log
   echo  
   cat /var/log/nginx/error.log 
) | sendmail -i [email protected] 

관련 정보