सेटिंग MAILTO=user@example.org
में /etc/cron.daily/foo
काम नहीं करता है। स्क्रिप्ट आउटपुट को user@example.org पर नहीं भेजा जाता है।
Http://www.unixgeeks.org/security/newbie/unix/cron-1.html पेज भी एक सरल उपाय बताता है:
फ़ाइल में /etc/cron.daily/foo
अब निम्नलिखित शामिल हैं:
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" stefanl@example.org
यह 'stefanl@example.org' को उस विषय के साथ एक ईमेल भेजेगा जो स्क्रिप्ट के पूर्ण पथ के समान है (उदाहरण के लिए /etc/cron.daily/foo
)।
यहाँ Unixgeeks.org इस बारे में क्या कहता है:
क्रोन से आउटपुट
जैसा कि मैंने पहले कहा है, क्रॉन से आउटपुट प्रक्रिया के मालिक को मेल किया जाता है, या MAILTO चर में निर्दिष्ट व्यक्ति, लेकिन क्या होगा यदि आप ऐसा नहीं चाहते हैं? यदि आप आउटपुट को किसी और को मेल करना चाहते हैं, तो आप आउटपुट को कमांड मेल पर पाइप कर सकते हैं। जैसे
cmd | मेल -s "मेल का विषय" उपयोगकर्ता
कभी-कभी, मैं केवल एक क्रोनजॉब से त्रुटियों को प्राप्त करना चाहता हूं, न कि स्टडआउट, इसलिए मैं इस चाल का उपयोग करता हूं। पहली नज़र में वाक्यविन्यास गलत लग सकता है, लेकिन बाकी का आश्वासन दिया यह काम करता है। निम्नलिखित क्रोनजॉब STDOUT को / dev / null को भेज देगा, और फिर पाइपलाइन के माध्यम से STDERR को संभाल लेगा।
doit 2>&1 >/dev/null | mailx -s "$0" stefanl@example.org
एक ही बात है, लेकिन syslog को भेजें:
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
फाइल और ईमेल के लिए Cronjob stderr के लिए सर्वरफॉल्ट पर मेरा जवाब भी देखें
/etc/crontab
चूक को निर्दिष्ट नहीं करता है।