*। * क्या करता है? एसएससी, Cortpriv.none - / var / log / syslog लाइन का मतलब rsysl config फाइल में है?


11

मैं /etc/rsyslog.confफ़ाइल को समझने की कोशिश कर रहा हूँ , लेकिन मुझे कुछ याद आ रहा है। उदाहरण के लिए, यह फ़ाइल का एक हिस्सा है:

auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none      -/var/log/syslog
cron.*              /var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log

इस पृष्ठ के अनुसार :

सुविधा निम्नलिखित कीवर्ड्स में से एक है: स्थानीय, 7, साइटप्रिव, क्रोन, डेमन, केर्न, लप्र, मेल, मार्क, न्यूज, सिक्योरिटी (समान), सिसलॉग, यूजर, यूकैप और लोकल07 के माध्यम से।

प्राथमिकता निम्न खोजशब्दों में से एक है, आरोही क्रम में: डिबग, सूचना, सूचना, चेतावनी, चेतावनी (चेतावनी के रूप में), त्रुटी, त्रुटि (समान रूप से गलत) समालोचना, चेतावनी, आपात स्थिति, घबराहट (जैसे ही उभरना)। कीवर्ड की त्रुटि, चेतावनी और आतंक को हटा दिया गया है और अब इसका उपयोग नहीं किया जाना चाहिए। प्राथमिकता संदेश की गंभीरता को परिभाषित करती है।

एक तारांकन ("*") सभी सुविधाओं या सभी प्राथमिकताओं पर निर्भर करता है, जहां यह उपयोग किया जाता है (अवधि से पहले या बाद में) पर निर्भर करता है। कीवर्ड कोई भी दी गई सुविधा की प्राथमिकता के लिए नहीं है।

आप कॉमा (",") ऑपरेटर के उपयोग से एक ही विवरण में समान प्राथमिकता पैटर्न के साथ कई सुविधाएं निर्दिष्ट कर सकते हैं। आप जितनी चाहें उतनी सुविधाएं निर्दिष्ट कर सकते हैं। याद रखें कि इस तरह के बयान से केवल सुविधा भाग लिया जाता है, प्राथमिकता वाला हिस्सा छोड़ दिया जाएगा।

सेमीकोलन (";") विभाजक का उपयोग करके एक एकल कार्रवाई के लिए कई चयनकर्ताओं को निर्दिष्ट किया जा सकता है। याद रखें कि चयनकर्ता क्षेत्र में प्रत्येक चयनकर्ता पूर्ववर्ती को अधिलेखित करने में सक्षम है। इस व्यवहार का उपयोग करके आप कुछ प्राथमिकताओं को पैटर्न से बाहर कर सकते हैं।

तो, यह बहुत समझ में आता है लेकिन दाईं ओर फ़ाइल पथ के बारे में क्या है। यह सिर्फ एक पथ, या पथ के साथ |या इसके -पहले हो सकता है (या शायद कुछ और भी हो सकता है)। तीनों में क्या अंतर है?

जवाबों:


16

दिया हुआ

*.*;auth,authpriv.none      -/var/log/syslog

*.* सभी सुविधाओं और सभी प्राथमिकताओं को लॉग इन करें।

auth,authpriv.none इसका मतलब है कि सामान्य और विशेषाधिकार सुविधाओं को लॉग न करें।

-/var/log/syslogमतलब फ़ाइल / var / log / syslog में लॉग इन करें। पूर्ववर्ती डैश syslogd को fsync () को कॉल नहीं करने के लिए कहता है, अर्थात फ़ाइल में प्रत्येक लिखने के बाद डिस्क पर कर्नेल बफर को फ्लश न करें।


कैसे auth,authpriv.noneमतलब नहीं लॉग? उद्धृत डॉक से, "चयनकर्ता क्षेत्र में प्रत्येक चयनकर्ता पूर्ववर्ती लोगों को अधिलेखित करने में सक्षम है" - उस व्यवहार का विस्तार कहां प्रलेखित है? मुझे उम्मीद है कि इस authहिस्से को उस सुविधा से मिलान करने की अपेक्षा की जाएगी जो पहले से ही *.*अक्षम थी, बजाय इसे अक्षम करने के।
jl6

2
auth,authprivमैच authऔर दोनों authpriv.noneहिस्सा उन दोनों पर लागू होता है। *.*;auth;authpriv.noneजैसा आप वर्णन करते हैं वैसा ही व्यवहार करेंगे।
काइल जोन्स

ठीक है धन्यवाद! और क्या वह कहीं भी प्रलेखित है?
jl6

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

मैंने लाइन को जोड़ा *.*;auth,authpriv.none /dev/console ताकि मेरे रास्पबेरी पाई पर कंसोल (tty1) पर syslog संदेश भी आए। मेरे पास मेरे पाई सर्वर में एक मॉनिटर प्लग है जो केवल लॉग को मॉनिटर करने के लिए उपयोग किया जाता है। मैं इस पर कोई काम करने के लिए आप देख रहा हूँ।
विल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.