Bisakah saya mengubah penerima email default pada pekerjaan cron?

12

Saya percaya bahwa jika ada output dari cronjob itu dikirimkan kepada pengguna yang memiliki pekerjaan itu. Saya pikir Anda juga dapat menambahkan sesuatu seperti [email protected]di bagian atas file cron untuk mengubah ke mana output dikirim.

Bisakah saya mengatur opsi sehingga cron jobs di seluruh sistem akan diemail root bukan ke pengguna yang menjalankannya? (Yaitu agar saya tidak harus mengatur ini di file cron setiap pengguna)

cwd
sumber

Jawaban:

9

Periksa /etc/crontabfile dan atur MAILTO=rootdi sana. Mungkin juga perlu dalam /etc/rcfile

crondtampaknya menerima variabel MAILTO, saya kira saya tidak yakin sepenuhnya tetapi ada baiknya mencoba mengubah variabel lingkungan untuk crond sebelum dimulai. Seperti dalam /etc/sysconfig/crondatau /etc/rc.d/init.d/crondskrip yang sumber file sebelumnya.

Contoh:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL
Nikhil Mulley
sumber
Terima kasih banyak! +1. Mungkin meletakkan bagian bawah jawaban Anda dalam format preformat / kode?
cwd
7

Dimasukkan ke MAILTO=rootdalam /etc/default/cron. File ini berisi pengaturan default cron.

man 5 crontab kata,

Jika MAILTO didefinisikan (dan tidak kosong), surat dikirim ke pengguna yang bernama itu.

Rujuk: http://man.cx/cron(1)#heading4

Sachin Divekar
sumber
dimana? untuk file crontab setiap pengguna?
Nikhil Mulley
@Nikhil memeriksa jawaban saya yang diperbarui.
Sachin Divekar
1
ini hanya berfungsi untuk pengguna yang memiliki crontab. Apakah ini akan berfungsi, jika ada pengguna yang tidak memiliki set variabel ini? Saya pikir @Cwd telah meminta secara khusus untuk pengaturan global yang untuk semua pengguna.
Nikhil Mulley
@SachinDivekar -1 Nikhil benar. Anda juga mengedit pertanyaan saya dan mengubah artinya. Makna yang diedit tidak sejalan dengan jawaban Anda, tetapi ini bukan yang saya tanyakan.
cwd
2
Ini tidak bekerja untuk saya. Saya telah menetapkan MAILTO dalam file default dan memulai kembali layanan cron, tetapi masih mengirim ke root (saya sedang mencoba mengirim ke alamat email eksternal)
peedee