Syslogd के माध्यम से सूचनाएं (8)
मेरे OpenBSD सर्वर पर, मैं अपने वेब एप्लिकेशन से महत्वपूर्ण संदेशों को लॉग और ईमेल करता हूं, जो सुविधा local1 का उपयोग करते हैं । यहाँ ऐसा करने के लिए मेरा /etc/syslog.conf है:
local1.err /var/log/example.com
local1.err |while read log; do echo "$log" | /usr/bin/mail -s SYSLOG me@example.com; done
ध्यान दें कि जबकि लूप असीम रूप से syslogd से प्रत्येक पंक्ति को पढ़ता है और फिर इसे इको के माध्यम से मेल करने के लिए पाइप करता है। यह महत्वपूर्ण है। एक बार ईको अपनी लाइन को आउटपुट कर देता है, यह पाइप को समाप्त कर देता है, मेल को एक ईओएफ भेज देता है ताकि वह लॉग संदेश को ईमेल कर सके।
दूसरे शब्दों में, आप इस तरह से syslogd के माध्यम से सीधे मेल नहीं कर सकते हैं:
local1.err |/usr/bin/mail -s SYSLOG me@example.com
क्योंकि syslogd पाइप को तब तक लिखना जारी रखेगा जब तक कि वह स्वयं समाप्त नहीं हो जाता है या HUP संकेत नहीं भेज देता है, उस समय मेल एक बड़े ईमेल में लॉग संदेशों के पूरे सेट को भेज देगा।
Newsyslog के माध्यम से सूचनाएं (8)
क्रोन में शेड्यूलिंग न्यूज़लॉग एक धीमी दर पर या थोक में संदेश प्राप्त करने का एक और तरीका है।
उदाहरण के लिए, यदि आप लॉग संदेशों के दैनिक ईमेल डाइजेस्ट चाहते हैं, तो M फ्लैग सेट करें और /etc/newsyslog.conf में एक मॉनिटर ईमेल एड्रेस निर्दिष्ट करें :
# logfile_name owner:group mode count size when flags monitor
/var/log/example.com root:wheel 640 7 * 24 M me@example.com
फिर क्रॉस्टैब में न्यूज़लॉग शेड्यूल करें:
# minute hour mday month wday command
0 * * * * /usr/bin/newsyslog
1-59 * * * * /usr/bin/newsyslog -m
मी के लिए विकल्प newsyslog (8) कहता है:
निगरानी मोड; केवल झंडे में एक `एम 'के साथ चिह्नित प्रविष्टियों को संसाधित किया जाता है। प्रत्येक लॉग फ़ाइल की निगरानी की जा रही है, कोई भी लॉग आउटपुट, क्योंकि पिछली बार न्यूज़सीलॉग -m फ्लैग के साथ चलाया गया था, मॉनिटर नोटिफिकेशन सेक्शन में सूचीबद्ध उपयोगकर्ता को मेल किया गया है।