wo sucht Cron nach der Standard-Mail-Binärdatei?

wo sucht Cron nach der Standard-Mail-Binärdatei?

Ich habe Cron-Jobs so eingerichtet, dass sie je nach Benutzer/Gruppe in einer Chroot-Umgebung ausgeführt werden.

Mir ist aufgefallen, dass diese Cron-Jobs, die in der Chroot-Umgebung ausgeführt werden, keine E-Mails senden können.

Protokolldateien melden, dass kein Programm zum Senden von E-Mails gefunden werden kann.

Wo sucht der Cron-Prozess nach der Standard-Mail-Binärdatei? Kann man diesen Pfad festlegen oder konfigurieren?

und nebenbei bemerkt: wenn die Variable MAILTO= nicht gesetzt ist, woher weiß Cron dann, wohin die E-Mails gesendet werden sollen? Werden die E-Mails einfach an den Benutzer gesendet, der den Job auf dem lokalen Host ausführt?

Danke!

Antwort1

Wo sucht der Cron-Prozess nach der Standard-Mail-Binärdatei?

Sofern nicht anders angegeben, bin ich ziemlich sicher, dass es einfach das Mailprogramm verwendet, das es im Pfad findet (/bin:/usr/bin). Sie können jedoch das -mBefehlszeilenargument für einige Versionen von cron angeben

-m Mit dieser Option können Sie eine Shell-Befehlszeichenfolge angeben, die zum Senden von Cron-Mail-Ausgaben anstelle von sendmail(8) verwendet werden soll. Dieser Befehl muss eine vollständig formatierte Mail-Nachricht (mit Headern) auf stdin akzeptieren und als Mail-Nachricht an die in den Mail-Headern angegebenen Empfänger senden.

Das oben genannte funktioniert unter CentOS/RHEL, bei Ubuntu sieht es anders aus.

Können Sie diesen Pfad festlegen oder konfigurieren?

Siehe oben.

wenn die Variable MAILTO= nicht gesetzt ist...

Wenn MAILTO nicht festgelegt ist, wird die E-Mail vermutlich an den lokalen Benutzer zugestellt, der den Job ausführt.

Unter CentOS/RHEL können Sie zusätzliche Befehlszeilenargumente in /etc/sysconfig/crond angeben, sodass Sie Ihre Init-Skripte nicht bearbeiten müssen. Andere Betriebssysteme/Distributionen bieten möglicherweise ähnliche Funktionen.

verwandte Informationen