सवाल एक cronjob से आउटपुट को कई ई-मेल पते पर कैसे भेजें?


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


51
2018-04-16 11:11


मूल




जवाब:


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

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

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

उदाहरण

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

68
2018-04-16 11:18



ध्यान देने योग्य एक बात - उपयोग करें केवल पते के बीच एक अल्पविराम। एक अंतरिक्ष का भी उपयोग न करें, अन्यथा क्रॉन पते को लॉग इन करेगा (शायद / var / log / cron या / var / log / daemon) "UNSAFE" के रूप में और पते की उस सूची को भेजने से इंकार कर देगा। - David Gardner
रिक्त स्थान के साथ पते को अलग करते समय बजाय अल्पविरामों के साथ, यह मेरे साथ हुआ cron पहले पते पर मेल भेजे गए केवल (तथा crontab परिवर्तनों को सहेजते समय शिकायत नहीं की थी, जो एक है शर्म की बात है)। Syslog में त्रुटियां हैं ((CRON) error (bad mailto)), लेकिन कोई भी ध्यान नहीं दिया ... - Tobias


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


8
2018-03-24 05:41



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


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


3
2018-04-16 11:15



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


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


0
2018-04-16 11:55





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


0
2018-02-03 16:36



प्रलेखन में, ई-मेल को अल्पविराम से अलग किया जाता है, आप यहां अर्धविराम का उपयोग कर रहे हैं। क्या आप वाकई यह वाक्यविन्यास काम कर रहे हैं? - physicalattraction
@ माइकल हैम्पटन द ; काम नहीं करता - 030
@Alfred मैं इसके बारे में अच्छी तरह से जानता हूँ। तो दूसरा व्यक्ति जिसने टिप्पणी की! - Michael Hampton♦
@ kasperd क्योंकि दूसरों के पदों के अर्थ को बदलने के लिए उचित नहीं है। यह अकेले पोस्टर के लिए है, और अब तक उसने इसे सही नहीं करने का फैसला किया है। गलत उत्तरों को कम किया जाना चाहिए और इसके बजाय टिप्पणी की जानी चाहिए। - Michael Hampton♦
मेरी पोस्ट को सही किया। यह नहीं पता कि यह 2010 में कैसे काम कर रहा था। उपर्युक्त पद में @ThatGraemeGuy के रूप में। क्रॉन पैकेज पर निर्भर हो सकता है। - dannyb2100