내 이메일로 로그를 보내려고 합니다. SSH를 통해 이 작업을 수행합니다. 파일을 편집했습니다.
/usr/share/logwatch/default.conf/logwatch.conf
다음 줄을 편집했습니다.
Output = mail
Format = html
Encode = none
MailTo = [email protected]
나는 시도했다:
sudo 로그 관찰
그러나 명령은 거기에 있지만 여전히 응답합니다. 예를 들어 Enter를 눌러 다음 줄로 이동할 수 있습니다.
나는 이것을 수동으로 시도했습니다 :
sudo logwatch --detail 낮음 --mailto email@address --service all --range 어제
같은 질문.
몇 분 후에 작동이 멈추고 다른 명령을 입력할 수 있었습니다. 이메일을 확인했는데 로그워치에 정보가 없습니다. 내 스팸/정크 폴더에도 있습니다.
무슨 일이 일어났는지 아세요?
편집: iptables, failure2ban 및 ufw를 설치했습니다. 그것이 어떤 차이를 만든다면.
나는 또한 다음을 시도했습니다.
echo "This is a test" | mail -s Testing [email protected]
스팸 폴더에 이런 이메일이 들어왔습니다. 문제는 Logwatch에 있다고 생각합니다.
답변1
sendmail
가능한 이유는 다음을 사용하여 mail
이메일을 보내지 않기 때문일 수 있습니다 .
nano /usr/share/logwatch/default.conf/logwatch.conf
찾아서 바꾸기:
#mailer="/usr/sbin/sendmail -t"
그리고
메일러="/usr/bin/mail"
또는 원하는 실행 파일을 사용하세요.
그런 다음 테스트
sudo /usr/sbin/logwatch --output mail --format html --range yesterday --service all
일반 이메일 전송 테스트 가능
echo "This is the body of the email" | mail -s "This is the subject line" [email protected]
답변2
예를 들어 MTA의 로그 파일을 검토 /var/log/exim4/mainlog
하고 SMTP 오류를 감시합니다.
내 이메일 제공업체의 SMTP 서버가 Logwatch에서 생성된 이메일을 스팸으로 분류하고 전달을 거부하는 매우 유사한 상황에 직면했기 때문에 이 방법을 추천합니다. 보여드린 대로 다른 이메일도 도착했습니다.
해결책:
내 경우에는 logwatch의 출력을 파일에 저장하고 이메일에 첨부하는 것이 도움이 되었습니다.
#!/bin/bash
tmpfile="/tmp/logwatch.txt"
/usr/sbin/logwatch > $tmpfile
echo "attached." | mail -s "logwatch output" -A "$tmpfile" email@provider
데비안에서 logwatch는 cron(위치 /etc/cron.daily
)에 의해 예약된 스크립트와 함께 제공됩니다. 이 코드 조각을 사용하여 수정할 수 있습니다.