Próbuję debugować problem polegający na tym, że cron nie wysyła poczty na skrzynce Centos 6, której nie skonfigurowałem. Jak mogę ustalić, którego crona używa do wysyłania poczty? Strona podręcznika crontab ma po części do powiedzenia:
Oprócz LOGNAME, HOME i SHELL, cron (8) będzie patrzył na MAILTO, jeśli ma jakiś powód, aby wysyłać pocztę w wyniku uruchomienia poleceń w „tym” crontabie. Jeśli MAILTO jest zdefiniowane (i niepuste), poczta jest wysyłana do użytkownika o takiej nazwie. Jeśli MAILTO jest zdefiniowane, ale puste (MAILTO = ""), poczta nie zostanie wysłana. W przeciwnym razie poczta jest wysyłana do właściciela crontab. Ta opcja jest przydatna, jeśli zdecydujesz się na / bin / mail zamiast / usr / lib / sendmail jako twój mailer podczas instalacji crona - / bin / mail nie wykonuje aliasingu, a UUCP zwykle nie czyta swojej poczty.
Część z gwiazdkami to część, w której zastanawiam się „Cóż, czy to sendmail czy mail?”
Według strony man dla cron (8) (demon, który faktycznie wysyła wiadomość):
To prowadzi mnie do przekonania, że domyślnie używa sendmaila. Sprawdźmy za pomocą strace:
Skonfiguruj zadanie crona, które wygeneruje wiadomość e-mail:
Teraz znajdź identyfikator procesu dla crond:
Dołącz do procesu crond za pomocą strace, szukając aktywności związanej z procesem. Kiedy strace pisze do stderr, przekierowałem go na stdout i szukałem 'mail':
Tak, to sendmail.
źródło
CRONDARGS=
). Fakt, że jest konfigurowalny, dlatego podałem kroki, aby zweryfikować swoją tożsamość.