ऐसा करने का एक तरीका है?
ऐसा करने का एक तरीका है?
जवाबों:
अपने logrotate.conf (या समतुल्य logrotate.d फ़ाइल) में, उस पंक्ति को बदलें जो कहती है "
rotate 10
(आपकी संख्या भिन्न हो सकती है) बड़ी संख्या के लिए। यह इसे लॉग के कई दिनों तक रखने के लिए बताएगा। आप इसे 36500 कर सकते हैं, जो आपको 100 साल तक चलेगा।
मैं अपने डेटाबेस बैकअप के रोटेशन को दैनिक, साप्ताहिक और मासिक करने के लिए इसे देख रहा हूं; इसलिए मैं फाइल को रोज घुमाता हूं लेकिन साप्ताहिक रोटेशन करने के लिए फाइल को रखता हूं, और वार्षिक रोटेशन के लिए भी।
प्रतिलिपि विकल्प का उपयोग करें। मैनुअल से:
copy
प्रतिलिपि लॉग फ़ाइल की प्रतिलिपि बनाएँ, लेकिन मूल को बिल्कुल न बदलें। इस विकल्प का उपयोग, उदाहरण के लिए, वर्तमान लॉग फ़ाइल का स्नैपशॉट बनाने के लिए किया जा सकता है, या जब कुछ अन्य उपयोगिता के लिए फ़ाइल को छोटा या पार्स करना पड़ता है। जब इस विकल्प का उपयोग किया जाता है, तो बनाने के विकल्प पर कोई प्रभाव नहीं पड़ेगा, क्योंकि पुरानी लॉग फ़ाइल जगह पर रहती है।
उस बिंदु को अलग करते हुए, जिसमें रोटेशन में विलोपन शामिल है ... ;-)
ऐसा लगता है कि आप बस 'फ़ाइल' शब्द को उपयुक्त फ़ाइल (संभवतः /etc/logrotate.d में) जोड़ सकते हैं। उदाहरण के लिए, एक अपाचे 2 लोगो स्क्रिप्ट इस तरह दिखेगा:
/var/log/apache2/*.log { साप्ताहिक missingok घुमाएँ 52 संकुचित करें delaycompress notifempty प्रतिलिपि sharedscripts postrotate अगर [-f "`। / etc / apache2 / envvars; गूंज $ {APACHE_PID_FILE: - / var / run / apache2.pid} `"]; फिर /etc/init.d/apache2 reload> / dev / null फाई endscript }
कोशिश करें कि, और देखें कि यह वही करता है जो आप चाहते हैं।