क्रोनजोब से कई ई-मेल पते पर आउटपुट कैसे भेजें?


55

एक क्रेस्टैब फ़ाइल की शुरुआत में आप MAILTOनिर्देश का उपयोग करके यह बता सकते हैं कि आप चाहते हैं कि आउटपुट को ई-मेल पते पर ई-मेल के रूप में भेजा जाए। मैं आउटपुट को कई पतों पर भेजना चाहूंगा। क्या कई पतों को निर्दिष्ट करना (और कैसे) संभव है?

जवाबों:


72

यह आपके द्वारा उपयोग किए जाने वाले क्रोन डेमॉन पैकेज के आधार पर भिन्न हो सकता है, लेकिन यह उबंटू हार्डी पर विक्सी क्रोन के मैनपेज से है:

यदि MAILTO को परिभाषित किया गया है (और रिक्त नहीं है), तो मेल उपयोगकर्ता को भेजा जाता है, इसलिए नाम दिया गया है। MAILTO का उपयोग प्राप्तकर्ता को अलग-अलग उपयोगकर्ताओं को अल्पविराम से अलग करके मेल भेजने के लिए किया जा सकता है। यदि MAILTO परिभाषित है, लेकिन खाली है (MAILTO = ""), तो कोई भी मेल नहीं भेजा जाएगा। अन्यथा मेल को कोंट्रेब के मालिक को भेजा जाता है।

यदि आप विक्सी क्रॉन का उपयोग नहीं कर रहे हैं, या सुनिश्चित नहीं हैं, तो कॉट्रैब फ़ाइल के लिए मैन्युअल पृष्ठ आज़माएँ: man 5 crontab

उदाहरण

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

12
एक बात ध्यान दें - पते के बीच सिर्फ एक अल्पविराम का उपयोग करें । साथ ही एक स्थान का उपयोग न करें , अन्यथा क्रोन पते (संभवतः / var / log / cron या / var / log / daemon में) को "UNSAFE" के रूप में लॉग करेगा और उस पते की सूची में भेजने से इंकार कर देगा।
डेविड गार्डनर

1
जब अल्पविराम के बजाय रिक्त स्थान के साथ पतों को अलग करते हैं , तो मेरे साथ ऐसा हुआ जो केवलcron पहले पते पर मेल भेजते हैं (और परिवर्तन सहेजते समय शिकायत नहीं की थी, जो एक शर्म की बात है )। Syslog ( ) में त्रुटियां हैं , लेकिन किसी का ध्यान नहीं गया ...crontab(CRON) error (bad mailto)
टोबियास

9

उपरोक्त उत्तरों के विकल्प के रूप में, आप इसे एक एकल पते पर भेज सकते हैं जो एक मेल ग्रुप है। यह विशेष रूप से अच्छी तरह से काम करता है यदि आप कई सर्वरों का प्रबंधन करते हैं क्योंकि मेल सर्वर पर समूह में पतों का प्रबंधन करना आसान है तो प्रत्येक व्यक्तिगत सर्वर के क्रॉस्टैब में।


IMHO यह सही उत्तर है। कौन विभिन्न crontabs में ईमेल पते की व्यक्तिगत सूची बनाए रखना चाहता है?
सात्विकपापी

मैंने एक साधारण सूची बनाई: 1. रूट के रूप में, "वर्चुअल प्राप्तकर्ता" को /etc/aliasesइस तरह एक लाइन जोड़कर जोड़ें : cron-listeners: fred@example.com, george@example.com2. क्रॉस्टेब में, सेट करें MAILTO=cron-listenersयदि आपके पास रूट एक्सेस नहीं है, तो आप .forwardइसके बजाय विधि की कोशिश कर सकते हैं ।
joeytwiddle

4

एक समाधान .forwardउस उपयोगकर्ता खाते पर एक फ़ाइल हो सकता है जो उचित पते पर मेल भेजता है।


1
+1 .forward फ़ाइल जाने का रास्ता है।
सेल्के

0

सबसे अच्छा उत्तर यह है कि या तो अपने डिस्ट्रो के वर्तमान संस्करण के लिए अपने मैन पेजों की जांच क्रोन / crontab के वर्तमान संस्करण के साथ करें ताकि यह पता चल सके कि ऐसा कुछ है जो MAILTO पैरामीटर के साथ किया जा सकता है या एक मेल पता निर्दिष्ट कर सकता है जो बदले में आपके लिए कई पतों को मेल करता है।


0

,प्रत्येक ईमेल के बाद जोड़ें , जैसे:MAILTO="some.user1@example.com,some.user2@example.com"


3
प्रलेखन में, ई-मेल एक अल्पविराम द्वारा अलग किए जाते हैं, आप यहां अर्धविराम का उपयोग कर रहे हैं। क्या आप सुनिश्चित हैं कि यह वाक्य रचना काम कर रही है?
physicalattraction

1
@ मिचेल हैम्पटन ;काम नहीं करता है
030

@ इससे मैं अच्छी तरह से वाकिफ हूं। तो टिप्पणी करने वाला दूसरा व्यक्ति है!
माइकल हैम्पटन

1
@kasperd क्योंकि दूसरों के पदों के अर्थ को बदलना उचित नहीं है। यह अकेले पोस्टर के लिए है, और अब तक उन्होंने इसे सही नहीं करने के लिए चुना है। गलत जवाबों को कम किया जाना चाहिए और इसके बजाय टिप्पणी की जानी चाहिए।
माइकल हैम्पटन

1
मेरी पोस्ट को ठीक किया। पता नहीं कैसे यह 2010 में वापस काम कर रहा था। जैसा कि @ThatGraemeGuy एक उपरोक्त पोस्ट में। क्रोन पैकेज पर निर्भर हो सकता है।
dannyb2100
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.