Bir cronjob çıktısını birden fazla e-posta adresine nasıl gönderirim?


55

Bir crontab dosyasının başında MAILTOçıktının bir e-posta adresine e-posta olarak gönderilmesini istediğinizi belirtmek için talimatı kullanabilirsiniz . Çıktıyı birden fazla adrese göndermek istiyorum. Birden fazla adres belirtmek mümkün mü (ve nasıl)?

Yanıtlar:


72

Hangi cron cini arka plan paketini kullandığınıza bağlı olarak farklılık gösterebilir, ancak bu Ubuntu Hardy'deki Vixie Cron sayfasından:

MAILTO tanımlanmış (boş olmayan) ise, posta adı belirtilen kullanıcıya gönderilir. MAILTO, alıcı kullanıcıları virgülle ayırarak postaları birden fazla alıcıya yönlendirmek için de kullanılabilir. MAILTO tanımlanmış ancak boş ise (MAILTO = ""), posta gönderilmez. Aksi halde posta crontab'ın sahibine gönderilir.

Vixie Cron kullanmıyorsanız veya emin değilseniz, crontab dosyası için kılavuz sayfasını deneyin: man 5 crontab

Örnek

MAILTO="user.one@domain.one,user.two@domain.two"

12
Unutulmaması gereken bir şey - adresleri arasında sadece virgül kullanın . Ayrıca bir boşluk kullanmayın , aksi takdirde cron adresi (muhtemelen / var / log / cron veya / var / log / daemon) "UNSAFE" olarak kaydeder ve bu adres listesine göndermeyi reddeder.
David Gardner,

1
Adresleri virgül yerine boşluklarla ayırırken, bana yalnızcacron ilk adrese posta gönderen (ve değişiklikleri kaydederken şikayet etmedim, ki bu utanç verici ) oldu. Sistem günlüğünde hatalar var ( ), fakat kimse fark etmedi ...crontab(CRON) error (bad mailto)
Tobias

9

Yukarıdaki cevaplara alternatif olarak, bir posta grubu olan tek bir adrese gönderebilirsiniz. Bu, özellikle birden fazla sunucuyu yönetiyorsanız, gruptaki adresleri bir posta sunucusundan sonra her bir sunucunun crontab'ından yönetmek daha kolay olduğu için işe yarar.


IMHO bu doğru cevap. Bireysel e-posta adres listelerini çeşitli crontablarda tutmak isteyen var mı?
Satanicpuppy

Basit bir liste hazırladım: 1. Kök olarak, aşağıdaki /etc/aliasesgibi bir satır ekleyerek "sanal bir alıcı" ekleyin : cron-listeners: fred@example.com, george@example.com2. crontab'da ayarlayın MAILTO=cron-listenersKök erişiminiz yoksa, .forwardbunun yerine yöntemi deneyebilirsiniz .
joeytwiddle

4

Çözümlerden biri .forward, söz konusu kullanıcı hesabında uygun adreslere posta gönderen bir dosya olabilir .


1
+1 .forward dosyası gitme yoludur.
sleske

0

Muhtemelen en iyi cevap, manil sayfalarınızı MAILTO parametresiyle yapılabilecek bir şey olup olmadığını görmek için dağıtımınızın geçerli cron / crontab sürümü için kontrol etmek veya sırayla postayı sizin için birden fazla adrese yönlendirecek bir posta adresi belirtmektir.


0

,Her e-postadan sonra ekleyin , örneğin:MAILTO="some.user1@example.com,some.user2@example.com"


3
Belgelerde, e-postalar virgülle ayrılır, burada noktalı virgül kullanıyorsunuz. Bu sözdiziminin çalıştığından emin misiniz?
fizik

1
@MichaelHampton ;çalışmıyor
030

@Alfred Bunun farkındayım. Diğer yorum yapan var mı?
Michael Hampton

1
@ kasperd Çünkü başkalarının yayınlarının anlamını değiştirmek uygun değil. Bu yalnız poster için ve şimdiye kadar onu düzeltmemeyi seçti. Yanlış cevaplar düşürülmeli ve bunun yerine yorum yapılmalıdır.
Michael Hampton

1
Gönderim düzeltildi. 2010'da nasıl çalıştığını bilmiyorum. Yukarıdaki yazıdaki @ThatGraemeGuy olarak. Cron paketine bağlı olabilir.
dannyb2100
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.