Saya mencoba men-debug masalah dengan cron tidak mengirim email pada kotak Centos 6 yang tidak saya konfigurasikan. Bagaimana saya bisa menentukan cron mailer yang digunakan untuk mengirim email? Halaman manual crontab mengatakan ini, sebagian:
Selain LOGNAME, HOME, dan SHELL, cron (8) akan melihat MAILTO jika ada alasan untuk mengirim email sebagai akibat dari menjalankan perintah di crontab "ini". Jika MAILTO didefinisikan (dan tidak kosong), surat dikirim ke pengguna yang dinamai demikian. Jika MAILTO didefinisikan tetapi kosong (MAILTO = ""), tidak ada email yang akan dikirim. Kalau tidak, surat akan dikirim ke pemilik crontab. Opsi ini berguna jika Anda memutuskan pada / bin / mail alih-alih / usr / lib / sendmail sebagai mailer Anda ketika Anda menginstal cron - / bin / mail tidak melakukan aliasing, dan UUCP biasanya tidak membaca emailnya.
Bagian dengan tanda bintang adalah bagian yang membuat saya bertanya-tanya, "Apakah itu sendmail atau surat?"
Menurut halaman manual untuk cron (8) (daemon yang benar-benar mengirim pesan):
Itu membuat saya percaya bahwa itu menggunakan sendmail secara default. Mari kita verifikasi dengan strace:
Menyiapkan pekerjaan cron yang akan menghasilkan email:
Sekarang cari ID proses untuk crond:
Lampirkan ke proses crond dengan strace, mencari aktivitas terkait proses. Ketika strace menulis ke stderr, saya telah mengarahkannya ke stdout dan menerima 'mail':
Yap, ini sendmail.
sumber
CRONDARGS=
). Fakta bahwa itu dapat dikonfigurasi adalah mengapa saya memasukkan langkah-langkah untuk memverifikasi diri sendiri.