हां, एक उचित तरीका है: आप लॉग को बिल्कुल साफ नहीं करते हैं । आप उन्हें घुमाएँ । रोटेशन में एक ही नाम के तहत लॉग आउटपुट को एक नई फ़ाइल में बदलना शामिल है, पिछले एन लॉग फाइल के साथ एन संबंधित फाइलनाम के सेट के तहत रखा गया है।
कैसे एक घुमाता लॉग निर्भर करता है कि कैसे एक उन्हें पहली जगह में लिख रहा है। यह एक बार-बार देखा जाने वाला बिंदु है। यहाँ कुछ उत्तर कम से कम उस पर स्पर्श करते हैं, जिसमें उल्लेख है कि कुछ लॉगिंग प्रोग्राम लॉग फ़ाइल के लिए एक ओपन फ़ाइल डिस्क्रिप्टर रखते हैं, इसलिए बस फ़ाइल को हटाने से स्पेस खाली नहीं होगा, या वास्तव में आउटपुट को एक ताज़ा लॉग फ़ाइल में भी स्विच कर सकता है।
यदि इस कार्यक्रम लॉग फ़ाइल लेखन है multilog
से daemontools
पैकेज कोई मैन्युअल लिपियों, कोई - उदाहरण के लिए, तो तुम सब पर लॉग बारी बारी से करने कुछ भी नहीं करते cron
नौकरियों। सीधे शब्दों में कहें multilog
कि लॉग आउटपुट एक निर्देशिका के लिए है, और यह स्वयं उस निर्देशिका में एन लॉग फ़ाइलों के स्वचालित रूप से घुमाए गए और आकार-कैप सेट को बनाए रखेगा।
कार्यक्रम लॉग फाइल लेखन है svlogd
से runit
पैकेज , एक और उदाहरण के लिए, तो ज्यादा एक ही लागू होता है। आप एक निर्देशिका में बिंदु टूल के अलावा कुछ भी नहीं करते हैं। यह स्वयं उस निर्देशिका में एन लॉग फ़ाइलों का स्वचालित रूप से घुमाया गया और आकार-कैप सेट बनाए रखेगा।
यदि आप rsyslog
लॉग फ़ाइलों को लिखने के लिए उपयोग कर रहे हैं , तो लॉग फ़ाइल को एक निश्चित आकार तक पहुंचने और स्क्रिप्ट चलाने के बाद लॉगिंग प्रोग्राम को बंद करने के लिए कहा जा सकता है । आपको स्क्रिप्ट का मांस लिखना होगा, वास्तव में लॉग फ़ाइल का नाम बदलना होगा और कुल आकार की बाधाओं के आधार पर पुरानी लॉग फ़ाइलों को हटाना होगा, लेकिन कम से कम लॉगिंग प्रोग्राम ने फ़ाइल को बंद कर दिया है और लॉग राइटिंग को रोका जा रहा है जबकि ऐसा हो रहा है।
syslogd
घूर्णन लॉग का पुराना तरीका, अभी भी syslog- एनजी जैसे कार्यक्रमों को लॉग इन करके और जैसा कि यहां एक अन्य उत्तर में logrotate
उल्लिखित है djangofan
, जैसे टूल द्वारा उदाहरण के लिए अपेक्षित है , कुछ हद तक अधिक खतरनाक है। कोई एक cron
कार्य चलाता है जो समय-समय पर लॉग फ़ाइलों का नाम बदल देता है, और लॉगिंग डेमॉन को पुनरारंभ करता है (जो भी डेमॉन पर्यवेक्षक इसे चला रहा है) का उपयोग करके। इसके साथ समस्या यह है कि यह समग्र आकार की टोपी को लागू नहीं करता है। धीमे सप्ताहों में किसी को N बहुत छोटी दैनिक लॉग फ़ाइलें मिल सकती हैं, जबकि व्यस्त दिनों में कोई 1 बहुत बड़ी लॉग फ़ाइल प्राप्त कर सकता है जो आकार सीमा से अधिक अच्छी तरह से है।
यही कारण है कि जैसे बाद में और बेहतर उपकरण है multilog
और svlogd
फ़ाइल आकार विन्यास विकल्प हैं और वास्तव में जाँच लॉग फ़ाइल के लिए खुद को आकार, निश्चित रूप से। दुनिया ने यह जान लिया है कि cron
नौकरियों के साथ एक समय पर लॉग्स को प्रदूषित करना, या यहां तक कि एक logrotate
डेमॉन, आकार गलत होने के लिए खिड़कियां छोड़ देता है, और यह कि इन जांचों के लिए उचित जगह है, और इसलिए व्यवस्थापक-परिभाषित आकार के कैप को सख्ती से लागू करें लॉग फ़ाइलें कभी भी उस विभाजन को नहीं निगलती हैं जो वे चालू हैं, उस प्रोग्राम में है जो वास्तव में पहले स्थान पर फ़ाइलों को लिख रहा है।