Ich versuche, ein Problem zu beheben, bei dem cron keine E-Mails auf einer Centos 6-Box sendet, die ich nicht konfiguriert habe. Wie kann ich feststellen, mit welchem Mailer Cron E-Mails gesendet werden? Die Crontab-Manpage hat dies zum Teil zu sagen:
Zusätzlich zu LOGNAME, HOME und SHELL untersucht cron (8) MAILTO, wenn es einen Grund gibt, E-Mails zu senden, weil Befehle in "dieser" Crontab ausgeführt werden. Wenn MAILTO definiert (und nicht leer) ist, wird eine E-Mail an den so genannten Benutzer gesendet. Wenn MAILTO definiert, aber leer ist (MAILTO = ""), wird keine Mail gesendet. Andernfalls wird die E-Mail an den Eigentümer der Crontab gesendet. Diese Option ist nützlich, wenn Sie sich bei der Installation von cron für / bin / mail anstelle von / usr / lib / sendmail als Mailer entscheiden - / bin / mail führt kein Aliasing durch und UUCP liest seine Mail normalerweise nicht.
Der Teil mit Sternchen ist der Teil, bei dem ich mich frage: "Nun, ist es Sendmail oder Mail?"
Laut der Manpage für cron (8) (der Dämon, der die Nachricht tatsächlich sendet):
Das lässt mich glauben, dass standardmäßig sendmail verwendet wird. Lassen Sie uns mit strace überprüfen:
Richten Sie einen Cron-Job ein, der E-Mails generiert:
Suchen Sie nun die Prozess-ID für crond:
Befestigen Sie sich mit Strace am Crond-Prozess und suchen Sie nach prozessbezogenen Aktivitäten. Während strace an stderr schreibt, habe ich es an stdout umgeleitet und nach 'mail' gesucht:
Ja, es ist sendmail.
quelle
CRONDARGS=
). Die Tatsache, dass es konfigurierbar ist, ist der Grund, warum ich die Schritte zur Überprüfung für mich selbst aufgenommen habe.