Sendmail zum Senden des Inhalts des Fehlerprotokolls

Sendmail zum Senden des Inhalts des Fehlerprotokolls

Ubuntu: Ich versuche, eine E-Mail mit sendmail, mailx, oder mail(irgendetwas, das funktioniert) zu senden. Ich versuche, den Inhalt einer Protokolldatei als Nachricht zu senden. Das Protokoll befindet sich unter /var/log/nginx/error.log.

Ich führe stündlich einen Cron aus, um zu sehen, ob sich im Fehlerprotokoll etwas geändert hat. Wenn ja, versuche ich, mir das Fehlerprotokoll per E-Mail zu senden. Ein regelmäßiger Test mit Sendmail, Mailx und Mail funktioniert bei mir einwandfrei.

DasWerke(aber nicht das, was ich will):
echo "My test email being sent from sendmail" | /usr/sbin/sendmail [email protected]

Ich habe Folgendes versucht (nichts davon funktioniert bei mir): , , , , Offensichtlich bin ich ein Neuling hier.
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]

Antwort1

Sendmail erwartet, E-Mail-Header und -Text über seine Standardeingabe zu erhalten.
[E-Mail-Header + leere Zeile + E-Mail-Text]
Ihre Versuche, Header bereitzustellen, sind fehlgeschlagen.

Probieren Sie das folgende Skript aus:

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

verwandte Informationen