Ayar MAILTO=user@example.orgiçinde /etc/cron.daily/fooçalışma yapmaz. Komut dosyası çıktısı user@example.org adresine gönderilmez.
Http://www.unixgeeks.org/security/newbie/unix/cron-1.html adresindeki sayfa da basit bir çözüm önermektedir:
Dosya /etc/cron.daily/fooşimdi aşağıdakileri içeriyor:
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" stefanl@example.org
Bu, 'stefanl@example.org' adresine, komut dosyasının tam yoluna (ör. /etc/cron.daily/foo) Eşit olan bir e-posta gönderir .
Unixgeeks.org bu konuda şöyle diyor:
Cron'dan çıktı
Daha önce de söylediğim gibi, cron çıktısı sürecin sahibine veya MAILTO değişkeninde belirtilen kişiye gönderilir, ama ya bunu istemezseniz? Çıktıyı bir başkasına postalamak istiyorsanız, çıktıyı komut postasına bağlayabilirsiniz. Örneğin
cmd | mail -s "Posta konusu" kullanıcısı
Bazen, sadece bir cronjob hatalarını almak istiyorum, stdout değil, bu yüzden bu hileyi kullanıyorum. Sözdizimi ilk bakışta yanlış görünebilir, ancak çalıştığından emin olabilirsiniz. Aşağıdaki cronjob STDOUT'u / dev / null'a gönderecek ve daha sonra STDERR'yi boru hattı üzerinden işleyecektir.
doit 2>&1 >/dev/null | mailx -s "$0" stefanl@example.org
Aynı şey, ancak syslog'a gönder:
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
Ayrıca Cronjob stderr ServerFault dosya ve e-posta için benim cevap bakın
/etc/crontabnot : varsayılanları belirtmez.