लॉगरोटेट घुमाए गए लॉग फ़ाइल नामों की शाब्दिक रूप से क्रमबद्ध सूची में क्रम के अनुसार फ़ाइलों को हटा देता है, और फ़ाइल आयु (फ़ाइल के अंतिम संशोधन समय का उपयोग करके) द्वारा भी हटाता है
-
घुमाएं घुमाई गई फ़ाइलों की अधिकतम संख्या है, जो आपको मिल सकती है। यदि घुमाए गए लॉग फ़ाइलों की संख्या अधिक है, तो उनके नाम शाब्दिक रूप से क्रमबद्ध किए जाते हैं और शाब्दिक रूप से सबसे छोटे हटा दिए जाते हैं।
-
अधिकतम घुमाए गए लॉग फ़ाइलों को हटाने के लिए एक और मानदंड परिभाषित करता है। दी गई संख्या से अधिक पुरानी होने के कारण कोई भी घुमाई गई लॉग फ़ाइल हटा दी जाती है। ध्यान दें, कि फ़ाइल के अंतिम संशोधन समय से दिनांक का पता लगाया जाता है, फ़ाइल नाम से नहीं।
-
तारीख प्रारूप घुमाए गए फ़ाइलों में दिनांक के लिए विशिष्ट स्वरूपण की अनुमति देता है। मैन पेज नोट करता है कि प्रारूप का परिणाम शाब्दिक रूप से सही सॉर्टिंग में होगा ।
-
कल की तारीख एक दिन पहले लॉग फ़ाइल नामों में तिथियों का उपयोग करने की अनुमति देता है।
दैनिक रोटेट की गई फ़ाइलों (उदा. 7) में दिए गए दिनों को रखने के लिए, आपको rotate सेट करना होगा 7 के मान तक और आप maxage . को अनदेखा कर सकते हैं , यदि आपकी फ़ाइलें वास्तव में प्रतिदिन बनाई और घुमाई जाती हैं।
यदि कुछ दिनों के लिए लॉग निर्माण नहीं होता है, उदा। 14 दिनों के लिए, घुमाई गई लॉग फ़ाइलों की संख्या अभी भी वही (7) रहेगी।
maxage हमेशा पुरानी फ़ाइलों को हटाकर "लॉग नहीं बनाए गए" परिदृश्यों में स्थिति में सुधार करेगा। बिना लॉग उत्पादन के 7 दिनों के बाद कोई घुमाई गई लॉग फाइल मौजूद नहीं होगी।
आप dateformat . का उपयोग नहीं कर सकते जैसा कि ओपी दिखाता है, क्योंकि यह शाब्दिक रूप से क्रमबद्ध नहीं है। dateformat के साथ खिलवाड़ करना संभवतः आपके द्वारा वास्तव में चाही गई अन्य घुमाई गई लॉग फ़ाइलों को हटाने का परिणाम होगा।
युक्ति :-d . के साथ कमांड लाइन से logrotate चलाएँ ड्राई रन करने का विकल्प:आप देखेंगे कि लॉगरोटेट क्या करेगा लेकिन वास्तव में कुछ भी नहीं करता है। फिर -v . का उपयोग करके मैन्युअल रन करें (क्रिया) ताकि आप पुष्टि कर सकें कि जो किया गया है वह वही है जो आप चाहते हैं।
समाधान:क्रॉन द्वारा बनाए गए स्वच्छ लॉग
अवधारणा है:
क्रॉन को लॉग फाइल बनाने और अपडेट करने दें, लेकिन फाइल बनाने के लिए छोटे संशोधन करें, डिफ़ॉल्ट dateext का उपयोग करते समय लॉगरोटेट मानक फ़ाइल नामों का पालन करें।
/data/tier2/scripts/logs/recover_standby_SID.log-`date +\%Y\%m\%d`.log
लॉगरोटेट का उपयोग केवल बहुत पुरानी लॉग फ़ाइलों को हटाने के लिए करें
- मौजूदा लॉग फ़ाइल को लक्षित न करें
/data/tier2/scripts/logs/recover_standby_SID.log missingokका उपयोग करें लॉगरोटेट क्लीनअप होने देने के लिए- सेट
rotateपर्याप्त उच्च, रखने के लिए लॉग फ़ाइलों की संख्या को कवर करने के लिए (कम से कम 7, यदि एक दिन में एक "घुमाया" लॉग फ़ाइल होगी, लेकिन आप इसे सुरक्षित रूप से 9999 की तरह बहुत उच्च सेट कर सकते हैं) - सेट
maxageसे 7. यह उन फ़ाइलों को हटा देगा जिनका अंतिम संशोधन समय 7 दिनों से अधिक है। dateextइसका उपयोग केवल यह सुनिश्चित करने के लिए किया जाता है कि घुमाए गए जैसी दिखने वाली पुरानी फ़ाइलों के लिए खोजों को लॉगरोटेट करें।
लॉगरोटेट कॉन्फ़िगरेशन फ़ाइल इस तरह दिखेगी:
data/tier2/scripts/logs/recover_standby_SID.log {
daily
missingok
rotate 9999
maxage 7
dateext
}
समाधान:दिन में एक बार लॉगरोटेट करके सीधे घुमाएं
मुझे यकीन नहीं है कि स्रोत पुनर्प्राप्ति स्टैंडबाय फ़ाइल कैसे बनाई जाती है, लेकिन मैं मान लूंगा, Oracle या आपकी कुछ स्क्रिप्ट नियमित रूप से या लगातार एक फ़ाइल में संलग्न हो रही है /data/tier2/scripts/logs/recover_standby_SID.log
अवधारणा है:
- फ़ाइल को दिन में एक बार
logrotate. द्वारा घुमाएं - पुनर्प्राप्ति डेटा वाली लॉग फ़ाइल के साथ सीधे काम करना
/data/tier2/scripts/logs/recover_standby_SID.log dailyदिन में एक बार रोटेशन का कारण बनेगा (कैसेcron. के संदर्भ में) समझता हैdaily)rotate7 (या कोई भी बड़ी संख्या) पर सेट होना चाहिए।maxage7 (दिन) पर सेट करेंdateextडिफ़ॉल्ट लॉगरोटेट दिनांक प्रत्यय का उपयोग करने के लिएdateyesterdayरोटेट की गई फ़ाइलों में दिनांक प्रत्यय एक दिन पहले होने के कारण उपयोग किया जाता है।missingokघुमाने के लिए कोई नई सामग्री मौजूद न होने पर भी पुरानी फ़ाइलों को साफ़ करने के लिए।
लॉगरोटेट कॉन्फिगर इस तरह दिखेगा:
data/tier2/scripts/logs/recover_standby_SID.log {
daily
missingok
rotate 7
maxage 7
dateext
dateyesterday
}
ध्यान दें, कि आपको copytruncate . के साथ थोड़ा खेलने की आवश्यकता हो सकती है और इसी तरह के अन्य विकल्प जो बाहरी प्रक्रिया द्वारा बनाई गई स्रोत लॉग फ़ाइल से संबंधित हैं और यह रोटेशन के कार्य पर कैसे प्रतिक्रिया करता है।