क्या यह कुछ अंतराल पर मैन्युअल रूप से शेड्यूल किए बिना लॉगरोट के एक पुनरावृत्ति को चलाने के लिए संभव है?
क्या यह कुछ अंतराल पर मैन्युअल रूप से शेड्यूल किए बिना लॉगरोट के एक पुनरावृत्ति को चलाने के लिए संभव है?
जवाबों:
हाँ: logrotate --force $CONFIG_FILE
--force
फ़ाइल (नों) को घुमाया जाएगा भले ही वे निर्दिष्ट मानदंडों को पूरा न करें जैसे कि न्यूनतम, आयु, आदि
logrotate --force /etc/logrotate.d/
(केवल निर्देशिका नाम) के साथ सभी को घुमा सकते हैं
--force
फाइलें रोटेशन को मजबूर कर देंगी भले ही फाइलें मानदंड (आयु, आकार आदि) को पूरा न करें, लेकिन कृपया विचार करें कि यह वास्तविक समस्याओं को स्पॉट करने का एकमात्र तरीका है जो logrotate -d
उभर नहीं पाएगा (उदाहरण के लिए, मेरे पास एक सर्वर था अंतरिक्ष में महीनों से नहीं चलने के कारण अंतरिक्ष ... और धन्यवाद के कारण --force
मुझे पता चल गया कि File exists
त्रुटियां थीं। मैंने उन फ़ाइलों को मैन्युअल रूप से हटा दिया है और अब रोटेशन सही ढंग से फिर से काम करता है!
logrotate -d [your_config_file]
डीबग मोड को आमंत्रित करता है, आपको एक क्रियात्मक विवरण देता है कि क्या होगा, लेकिन लॉग फ़ाइलों को अछूता छोड़कर।
logrotate --force
और अच्छी तरह से काम किया।
यदि आप एकल विशिष्ट निर्देशिका या डेमॉन की लॉग फ़ाइलों को बलपूर्वक चलाना चाहते हैं, तो आप आमतौर पर कॉन्फ़िगरेशन ढूंढ सकते हैं /etc/logrotate.d
और वे स्टैंडअलोन काम करेंगे।
ध्यान रखें कि इसमें निर्दिष्ट वैश्विक कॉन्फ़िगरेशन /etc/logrotate.conf
लागू नहीं होगा, इसलिए यदि आप ऐसा करते हैं, तो आपको यह सुनिश्चित करना चाहिए कि आप उन सभी विकल्पों को निर्दिष्ट करें जो आप /etc/logrotate.d/[servicename]
विशेष रूप से कॉन्फ़िगरेशन फ़ाइल में चाहते हैं ।
आप इसे -d
देखने की कोशिश करेंगे कि क्या होगा:
logrotate -df /etc/logrotate.d/nginx
तब आप चला सकते हैं (उदाहरण के रूप में नेग्नेक्स का उपयोग करके):
logrotate -f /etc/logrotate.d/nginx
और नग्नेक्स लॉग को अकेले घुमाया जाएगा।
logrotate -d /etc/logrotate.conf
किसी भी अन्य शामिल conf फ़ाइलों के माध्यम से चलेंगे।
सभी लोगो को चलाने का तरीका है:
logrotate -f /etc/logrotate.conf
जो प्राथमिक लॉगोटेट फ़ाइल को चलाएगा, जिसमें अन्य लॉगोट्रेट कॉन्फ़िगरेशन भी शामिल हैं
निम्नलिखित आदेश जारी करें, निर्दिष्ट लॉगोटेट को चलाने का तरीका:
logrotate -vf /etc/logrotate.d/custom
विकल्प:
-v: प्रक्रिया दिखाओ
-फ: फोर्सिंग रन
कस्टम: उपयोगकर्ता द्वारा निर्धारित लॉग सेटिंग
जैसे: मोंगोडब-लॉग
# mongodb-log rotate
/data/var/log/mongodb/mongod.log {
daily
dateext
rotate 30
copytruncate
missingok
}
जिस फ़ाइल को आप परीक्षण करना चाहते हैं, उस पर 'अंतिम घुमाई गई' तारीख को रीसेट करने के लिए /var/lib/logrotate.status को संपादित करें।
फिर चला logrotate YOUR_CONFIG_FILE
।
या आप --force ध्वज का उपयोग कर सकते हैं, लेकिन logrotate.status का संपादन आपको क्या करता है और घुमाया नहीं जाता है पर अधिक सटीकता देता है।
/var/lib/logrotate.status
फ़ाइल डेबियन निचोड़ पर मौजूद नहीं है।
समस्या को हल करने के लिए एक शेल स्क्रिप्ट बनाई।
http://www.ict.griffith.edu.au/anthony/software/#logrotate_one
यह स्क्रिप्ट "/etc/logrotate.d" में पाई गई एकल लॉगोट्रेट सब-कॉन्फ़िगरेशन फ़ाइल चलाएगी, लेकिन वैश्विक कॉन्फ़िगरेशन फ़ाइल "/etc/logrotate.conf" से वैश्विक सेटिंग शामिल करें। आप इसका परीक्षण करने के लिए अन्य ओटेशन का भी उपयोग कर सकते हैं ...
उदाहरण के लिए...
logrotate_one -d syslog