Ayar MAILTO=user@example.org
iç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/crontab
not : varsayılanları belirtmez.