[यह सिस्टमड सिस्टम पर जर्नल को व्यापक रूप से अपनाने से कुछ साल पहले लिखा गया था और इस पर कोई विचार नहीं करता है। वर्तमान में (2018 के अंत में) दोनों जर्नल और (आर) syslog, नीचे वर्णित है, डिस्ट्रोन्स जैसे डेबियन पर उपयोग किया जाता है। दूसरों पर, यदि आप इसे साथ उपयोग करना चाहते हैं, तो आपको rsyslog स्थापित करना पड़ सकता है, लेकिन जर्नल के साथ एकीकरण सीधा है।]
मैं विशेष रूप से ubuntu के संबंध में लॉगिंग के बारे में चर्चा नहीं करूंगा, क्योंकि विषय को सामान्य रूप से लिनक्स के लिए मानकीकृत किया गया है (और मुझे विश्वास है कि मुझे जो भी कहना है वह सबसे या किसी भी स्वाद के लिए सामान्य रूप से सच है।) उसके लिए मेरा शब्द लें)। मैं इस सवाल का जवाब देने से परे "लॉग्स कैसे पढ़ें" के बारे में ज्यादा नहीं कहूंगा:
क्या यह धारणा भी सही है कि वे मानव पठनीयता के लिए लिखे गए हैं या क्या वे आम तौर पर अन्य उपकरणों द्वारा मूल्यांकन और उपयोग किए जाते हैं?
मुझे लगता है कि आवेदन पर निर्भर करता है, लेकिन सामान्य तौर पर, कम से कम इस संबंध में कि सिसलॉग में क्या होता है (नीचे देखें), वे मानव पठनीय होने चाहिए। "मेरे लिए सार्थक" एक और मुद्दा है, योग्य। हालांकि, उन्हें एक तरह से संरचित भी किया जा सकता है जो विशिष्ट उद्देश्यों के लिए उन्हें मानक उपकरण (grep, awk, आदि) के साथ पार्स बनाता है।
Anywho, सबसे पहले, अनुप्रयोगों के बीच एक अंतर होता है जो अपने लॉगिंग और अनुप्रयोगों को करते हैं जो सिस्टम लॉगर का उपयोग करते हैं। डिफ़ॉल्ट रूप से अपाचे पूर्व है, हालांकि इसे बाद में करने के लिए कॉन्फ़िगर किया जा सकता है (जो मुझे लगता है कि ज्यादातर लोग अवांछनीय मानेंगे)। अनुप्रयोग जो अपने स्वयं के लॉगिंग करते हैं, वे किसी भी तरीके से फ़ाइल (एस) के लिए किसी भी स्थान का उपयोग कर सकते हैं, इसलिए उस बारे में कहने के लिए बहुत कुछ नहीं है। सिस्टम लकड़हारा आमतौर पर के रूप में जाना जाता है syslog
।
syslog
"Syslog" वास्तव में एक मानक है जिसे डेमॉन प्रक्रिया के साथ कार्यान्वित किया जाता है जिसे उदारतापूर्वक syslogd कहा जाता है (d। डेमॉन के लिए है!)। वर्तमान में सर्वेसर्नल डेमॉन वर्तमान में लाइनक्स पर उपयोग में है, जिसमें उबंटू भी शामिल है rsyslogd
। रूपलॉग बहुत कुछ कर सकता है, लेकिन जैसा कि अधिकांश डिस्ट्रोस पर बॉक्स से बाहर कॉन्फ़िगर किया गया है, यह एक पारंपरिक सिसलॉग का अनुकरण करता है, जो कि सादे पाठ फ़ाइलों में सामान को सॉर्ट करता है /var/log
। आपको इसके लिए प्रलेखन मिल सकता है /usr/share/doc/rsyslog-doc-[version]
(सावधान रहें, एक भी है /usr/share/doc/rsyslog-[version]
, लेकिन यह स्रोत पैकेज से सिर्फ नोटिस है जैसे NEWS
और ChangeLog
)। अगर यह वहाँ है, यह html है, लेकिन स्टैक एक्सचेंज स्थानीय फ़ाइल लिंक एम्बेड करने की अनुमति नहीं देता है:
file://usr/share/doc/rsyslog-doc/index.html
इसलिए आप कॉपी पेस्ट करने की कोशिश कर सकते हैं। यदि यह नहीं है, तो यह एक अलग पैकेज का हिस्सा हो सकता है जो स्थापित नहीं है। अपने पैकेजिंग सिस्टम (उदाहरण के लिए, apt-cache search rsyslog | grep doc
) को क्वेरी करें ।
कॉन्फ़िगरेशन में है /etc/rsyslog.conf
, जिसमें एक मैनुअल पेज है, man rsyslog.conf
हालांकि जबकि मैनुअल पेज एक ठीक संदर्भ बनाता है, यह एक परिचय के रूप में कम मर्मज्ञ हो सकता है। सौभाग्य से, स्टॉक rsyslog.conf की बुनियादी बातें पारंपरिक syslog.conf के अनुरूप हैं, जिसके लिए कई परिचय और ट्यूटोरियल हैं। यह एक , उदाहरण के लिए; आप अपने स्थानीय rsyslog.conf को देखते हुए उससे जो लेना चाहते हैं, वह सुविधाओं और प्राथमिकताओं की समझ है ("प्राथमिकता" को कभी-कभी लॉज़वेल कहा जाता है), क्योंकि ये उपर्युक्त syslog मानक का हिस्सा हैं। कारण यह मानक महत्वपूर्ण है क्योंकि rsyslog वास्तव में कर्नेल के माध्यम से अपना सामान प्राप्त करता है, और कर्नेल लागू क्या मानक है।
$
Rsyslog.conf में निर्देशों के संबंध में, ये rsyslog विशिष्ट हैं और यदि आप उस वैकल्पिक डॉक्टर पैकेज को स्थापित करते हैं, तो आप उन्हें एक गाइड पाएंगे rsyslog_conf_global.html
।
मज़े करो ... यदि आप उत्सुक हैं कि एप्लिकेशन सिस्टम लॉगर का उपयोग कैसे करते हैं, तो देखें man logger
और man 3 syslog
।
लॉग रोटेशन
लॉग को घुमाने का मानक साधन एक उपकरण के माध्यम से होता है जिसे logrotate
(और वहां एक man logrotate
) कहा जाता है । लॉग्रोटेट का उपयोग करने का आदर्श तरीका क्रोन डेमॉन के माध्यम से है , हालांकि इसे उस तरह से करने की ज़रूरत नहीं है (उदाहरण के लिए, यदि आप अपने डेस्कटॉप को हर रोज बंद कर देते हैं, तो आप शायद सिसोग्ल शुरू होने से पहले बस एक बार बूट कर सकते हैं लेकिन, जाहिर है, फाइलसिस्टम आरडब्ल्यू के माउंट होने के बाद)।
यहाँ लॉगरेट करने के लिए एक अच्छा परिचय है । ध्यान दें कि logrotate सिर्फ syslog सामान के लिए नहीं है , इसका उपयोग किसी भी फाइल के साथ किया जा सकता है। आधार कॉन्फ़िगरेशन फ़ाइल है /etc/logrotate.conf
, लेकिन चूंकि कॉन्फ़िगरेशन में एक "शामिल" निर्देश है, आमतौर पर अधिकांश सामान /etc/logrotate.d
निर्देशिका में व्यक्तिगत फ़ाइलों में जाता है (यहां डी निर्देशिका के लिए है, डेमॉन नहीं; लॉगरोट एक डेमॉन नहीं है)।
लॉगरोटेट का उपयोग करते समय विचार करने के लिए एक महत्वपूर्ण बात यह है कि कैसे कोई एप्लिकेशन फिर से काम करेगा जब इसकी लॉग फ़ाइल "घुमाएगी" - दूसरे शब्दों में, स्थानांतरित हो गई - जबकि एप्लिकेशन चल रहा है। WRT (r) syslogd, यह सिर्फ उस लॉग पर लिखना बंद कर देगा (मुझे लगता है कि इसके लिए एक सुरक्षा औचित्य है)। इससे निपटने का सामान्य तरीका है कि आप syslog को पुनः आरंभ करें (और उसकी सभी फ़ाइलों को फिर से खोलें), यही कारण है कि आप postrotate
लॉग इन करने के लिए एक निर्देश देखेंगे ।