मेल भेजने के लिए क्रोनर किस मेलर का उपयोग करता है?


12

मैं क्रोन के साथ एक समस्या को डीबग करने का प्रयास कर रहा हूं जो सेंटोस 6 बॉक्स पर मेल नहीं भेज रहा है जिसे मैंने कॉन्फ़िगर नहीं किया है। मैं यह कैसे निर्धारित कर सकता हूं कि मेल भेजने के लिए कौन सा मेलर क्रोन इस्तेमाल कर रहा है? Crontab मैन पेज के हिस्से में यह कहना है:

LOGNAME, HOME, और SHELL के अलावा, cron (8) MAILTO को देखेगा यदि उसके पास "इस" क्रॉस्टैब में चल रहे कमांड के परिणामस्वरूप मेल भेजने का कोई कारण है। यदि MAILTO को परिभाषित (और गैर-रिक्त) किया जाता है, तो मेल उपयोगकर्ता को भेजा जाता है, ताकि उसका नाम रखा जाए। यदि MAILTO परिभाषित है, लेकिन खाली है (MAILTO = ""), तो कोई भी मेल नहीं भेजा जाएगा। अन्यथा मेल को कोंट्राब के मालिक को भेजा जाता है। जब आप क्रोन स्थापित करते हैं तो यह विकल्प उपयोगी होता है जब आप अपने मेलर के रूप में / usr / lib / sendmail के बजाय / बिन / मेल पर निर्णय लेते हैं - आप aliasing नहीं करते हैं, और UUCP आमतौर पर इस मेल को नहीं पढ़ता है।

तारांकन वाला भाग वह भाग है जिसकी मुझे आश्चर्य है "ठीक है, यह प्रेषक या मेल है?"

जवाबों:


3

एक त्वरित Google मुझे दिखाता है कि /etc/sysconfig/crondवह फ़ाइल है जो यह बताती है कि मेलर का उपयोग क्रॉन द्वारा किया जाता है।


मेरा Google-फू जाहिरा तौर पर भयानक है क्योंकि मैंने इसके लिए एक अच्छा समय बिताया है। धन्यवाद।
cbmanica

23

क्रोन के लिए मैन पेज के अनुसार (8) (डेमन वास्तव में संदेश भेजता है):

   -m     This  option  allows you to specify a shell command string to use for 
          sending cron mail output instead of sendmail(8).  This command must 
          accept a fully formatted mail message (with headers) on stdin and send
          it as a mail message to the recipients specified in the mail headers.

मुझे विश्वास है कि यह डिफ़ॉल्ट रूप से Sendmail का उपयोग कर रहा है। आइए स्ट्रीम्स से सत्यापित करें:

एक क्रॉन जॉब सेट करें जो ईमेल उत्पन्न करेगा:

user@host1 ~:
$ crontab -e
crontab: installing new crontab
user@host1 ~:
$ crontab -l
MAILTO=example@example.com
*/5 * * * * echo "testing"

अब क्रोन के लिए प्रक्रिया आईडी खोजें:

user@host1 ~:
$ ps auxww | grep crond
root      9684  0.0  0.0 117280  1296 ?        Ss   Jul22   0:17 crond
user     36344  0.0  0.0 103240   884 pts/2    S+   23:01   0:00 grep crond

प्रक्रिया संबंधित गतिविधि की तलाश में, स्ट्रोन्स के साथ क्रोन प्रक्रिया को संलग्न करें। जैसा कि स्ट्रेसर ने लिखा है कि मैंने इसे 'मेल' के लिए स्टडआउट और ग्रीप्ड पर पुनः निर्देशित किया है:

root@host1 ~:
# strace -fp 9684 -s 1024 -e trace=process 2>&1 | grep mail
[pid 36204] execve("/usr/sbin/sendmail", ["/usr/sbin/sendmail", "-FCronDaemon", "-i", "-odi", "-oem", "-oi", "-t", "-f", "root"], [/* 16 vars */]) = 0
^C

हाँ, यह भेजने वाला है।


4
आपके द्वारा परीक्षण की गई प्रणाली पर।
mfinni

3
दाईं ओर, जो कि डिफ़ॉल्ट रूप में इस सवाल पर टैग के रूप में CentOS है।
12

2
मुझे पता है कि मैं यहां एक थका हुआ ड्रम पी रहा हूं, लेकिन यह एक विन्यास योग्य पैरामीटर है, और प्रश्न में एक प्रणाली शामिल है जिसे पूछने वाले ने सेट नहीं किया था। मेलर को पहले डिफ़ॉल्ट से बदला जा सकता है, सिस्टम में प्रश्न के लिए। पूछने वाला डिफ़ॉल्ट जानता है।
mfinni

6
सही है, लेकिन यह डिफ़ॉल्ट कॉन्फ़िगरेशन में है, कॉन्फिग फाइल (माइनस कमेंट्स, पूरी सामग्री है CRONDARGS=) में कुछ भी संदर्भित मेल नहीं है । यह तथ्य कि यह विन्यास योग्य है, इसीलिए मैंने स्वयं के सत्यापन के लिए कदमों को शामिल किया।
यूनिक्स सिप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.