Hentikan cron mengirimi saya email

10

Bagaimana saya bisa menghentikan cron mengirimi saya email hasil pekerjaan yang saya jadwalkan?

Richard Hoskins
sumber

Jawaban:

15

Dengan mengatur variabel lingkungan "MAILTO" sebagai ""

Sesuatu seperti:

SHELL=/bin/bash
MAILTO=



01 * * * *  /your/path/to/script/here.sh
OscarRyz
sumber
12

Jika Anda ingin satu pekerjaan untuk menghentikan email, Anda cukup menambahkan> / dev / null 2> & 1 padanya

Sebagai contoh:

0 * * * * /home/script >/dev/null 2>&1
rampok
sumber
1
Jika Anda yakin bahwa satu proses akan selesai sebelum yang berikutnya dimulai, ada baiknya mengarahkan ulang output ke file bernama daripada ke / dev / null: yang memberikan opsi untuk memeriksa apa yang terjadi pada proses terakhir jika Anda mencurigai adanya masalah.
mas
4

Cron hanya mengirim email kepada Anda jika ada output, baik pada stdoutatau stderr.

Jika skrip yang Anda tulis, kurangi penggunaannya - hapus yang tidak perlu echoatau printpernyataan. Mengarahkan stdoutke /dev/nulljuga merupakan solusi yang valid:

2 * * * * /my/script > /dev/null

Jika Anda masih mendapatkan pesan setelah melakukan itu, maka output adalah pada stderr, sehingga harus menjadi kesalahan, yang harus Anda menyelesaikan .. Jika tidak, Anda dapat mengarahkan stderrke /dev/nulldengan ..

2 * * * * /my/script > /dev/null 2> /dev/null

..tidak mengacuhkan pesan kesalahan umumnya adalah ide yang buruk! (Bagaimana Anda tahu kapan pekerjaan cron rusak?)

Anda dapat mengarahkan output perintah tertentu dari stderr ke stdout menggunakan 2>&1- misalnya:

command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout

..then langsung stdoutke /dev/nulldalam pekerjaan cron Anda - dengan cara itu Anda membungkam perintah keras, tanpa kehilangan pesan kesalahan

dbr
sumber