Cron'un bana e-posta göndermesini durdur


10

Cron'un planladığım işlerin sonuçlarını bana e-posta ile göndermesini nasıl durdurabilirim?

Yanıtlar:


15

"MAILTO" ortam değişkenini "" olarak ayarlayarak

Gibi bir şey:

SHELL=/bin/bash
MAILTO=



01 * * * *  /your/path/to/script/here.sh

12

Tek bir işin e-postayı durdurmasını istiyorsanız, buna / dev / null 2> & 1 değerini eklemeniz yeterlidir.

Örneğin:

0 * * * * /home/script >/dev/null 2>&1

1
Bir çalışmanın bir sonraki başlatmadan önce biteceğinden eminseniz, çıktıyı / dev / null yerine adlandırılmış bir dosyaya yönlendirmeye değer olabilir: bu, bir sorun.
mas

4

Üzerinde ya çıkış varsa Cron sadece epostalarımız stdoutveya stderr.

Yazdığınız komut dosyasıysa, daha az ayrıntılı hale getirin - gereksiz echoveya printifadeleri kaldırın . Yönlendirme stdoutiçin /dev/nullde geçerli bir çözümdür:

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

Eğer hala yapıyor sonra iletileri alırsanız, o zaman çıkış üzerindedir stderrböylece, gerektiği , sen yönlendirebilirsiniz Değilse size .. çözmelidir bir hata olmak stderrüzere /dev/nullbirlikte ..

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

... hata mesajlarını dikkate almamak genellikle kötü bir fikirdir! (Cron işinin ne zaman bozulduğunu nasıl bileceksiniz?)

Belirli bir komutun çıktısını stderr'den stdout'a yeniden yönlendirebilirsiniz 2>&1- örneğin:

command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout

... stdoutdaha /dev/nullsonra cron işinize doğrudan - hata mesajını kaybetmeden sesli komutu susturursunuz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.