लॉगरोट अपने स्वयं के लॉग को कहां बचाता है?


25

मेरे पास logrotateEC2 AWS मशीन है जो अपाचे लॉग को घुमाती है। एक बार पैक करने के बाद, Apache लॉग को SWS के माध्यम से AWS S3 में सहेजा जाता है। समस्या यह है कि मैंने हाल ही में देखा है कि मेरे पास लॉग रोटेट नहीं थे। S3 में मेरे पास 48-> 60 से पुराने लॉग हैं, लेकिन 1-> 47 दिखाई नहीं देता है।

मेरा सवाल यह है: लॉगरोट अपने स्वयं के लॉग को कहां बचाता है? यह संभव है कि मुझे s3fs के साथ किसी प्रकार की समस्या है, लेकिन मुझे कुछ भी करने से पहले जानना होगा। मैंने कहीं लॉग्स खोजने की कोशिश की, लेकिन मैं इसे नहीं खोज पाया।

कोई उपाय?

जवाबों:


20

logrotateडिफ़ॉल्ट रूप से कुछ भी लॉग नहीं करता है। आम तौर पर यह आपके क्रोन में कहीं होना चाहिए, उदाहरण के लिए:

$ grep -r -- 'logrotate.conf' /etc/cron*
/etc/cron.daily/logrotate:/usr/sbin/logrotate /etc/logrotate.conf

आप या तो यह देख सकते हैं कि क्या गलत है, या अगले दिन क्या हुआ, यह देखने के लिए उपर्युक्त क्रोन में एक फाइल में लॉगट्रोट आउटपुट को रीडायरेक्ट करें।

कहीं न कहीं कॉन्फिगरेशन गलत है और इसके कारण लॉगरोट रन टूट गया है।



उत्तर के लिए धन्यवाद, लेकिन मैं वास्तव में जानना चाहता हूं कि इस तरह का परिणाम प्राप्त करने के लिए मेरे सिस्टम में क्या हुआ है। धन्यवाद!
enedebe

क्या मैन्युअल रूप से चलने वाला लॉगरोट कोई त्रुटि देता है? यदि त्रुटियाँ हैं, तो आपको उन्हें गोपनीय फ़ाइल या /etc/logrotate.d/apache (या apache2) में ठीक करना होगा।
जॉनशेन ६४

4
आप -dडिबग ध्वज और -fबल ध्वज का उपयोग करके देख सकते हैं कि वास्तव में लॉगरोट क्या करने का प्रयास कर रहा है। -dकार्रवाई अक्षम करता है लेकिन मुद्रित संदेश अभी भी दावा करेंगे कि वे चीजें बदल रहे हैं।
डेविड लॉर्ड

दौड़ते समय /usr/sbin/logrotate /etc/logrotate.conf, मैं -vविस्तृत लॉग देखना चाहूंगा ।
डेनिस गोलोमेज़ोव

6

केवल एक चीज जो सामान्य रूप से रिकॉर्ड करती है, वह है cat /var/lib/logrotate/status

यह /server//a/518134/266525 से लिया गया है


5

/var/log/messagesCron.daily से इस तरह की त्रुटियों के लिए CentOS पर देखने के लिए एक और अच्छी जगह है/etc/cron.daily/logrotate

logrotate: ALERT exited abnormally with [1]

आप डिबग मोड में मैन्युअल रूप से भी चल सकते हैं और त्रुटियों की जांच कर सकते हैं:

/usr/sbin/logrotate -d /etc/logrotate.conf

स्रोत: https://access.redhat.com/solutions/32831


2

यदि आप logrotateक्रॉन से चल रहे हैं और आउटपुट को रीडायरेक्ट नहीं कर रहे हैं , तो आउटपुट, यदि कोई है, तो जो भी क्रॉन जॉब चला रहा है, उसके लिए ईमेल पर जाएगा। मैं अपने आउटपुट को लॉग फ़ाइल में रीडायरेक्ट करता हूं।

उदाहरण के लिए:

25 3 * * 7 /usr/sbin/logrotate -s /home/user/conf/mwarelogrotate.state 
/home/user/conf/mwarelogrotate.conf >> /home/user/logs/logrotate.log 2>&1

1

/etc/logrotate.confवैश्विक कॉन्फिग सेटिंग्स के लिए जाँच करें जो कॉन्फ़िगर किए गए कार्यों को प्रभावित कर सकता है/etc/logrotate.d/


0

जब लॉगोटेट लॉग को घुमाता नहीं है या विफल स्थिति में प्रवेश करता है, तो यह डिबग मोड में मैन्युअल रूप से लॉगरेट चलाने के लिए एक अच्छा विचार है यह देखने के लिए कि यह किस तरह की त्रुटियों को सूचीबद्ध करता है:

/usr/sbin/logrotate -d /etc/logrotate.d/*

यह कमांड उन सभी सेवाओं के लिए लॉग को घुमाती है, जिनमें फाइलें स्थित हैं /etc/logrotate.d। यदि यह त्रुटियों को सूचीबद्ध करता है (जैसे डुप्लिकेट लॉग प्रविष्टियों की वजह से त्रुटियां), तो आपको पता चल जाएगा कि लॉगरोट को समस्या क्यों है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.