आप यह नहीं बताते logrotate
कि कमांड लाइन पर किस फाइल को घुमाना है। आप इसे एक कॉन्फ़िगरेशन फ़ाइल पास करते हैं। तो आपके मामले में, logrotate
पढ़ रही है /var/log/syslog
और एक कॉन्फ़िग फ़ाइल के रूप में यह पार्स करने का प्रयास और नाकाम रहने के (इसलिए अपने त्रुटियों)।
यदि आप /var/log/syslog
इसे घुमाना चाहते हैं, तो इसे logrotate
कहीं न कहीं एक विन्यास फाइल में सूचीबद्ध किया जाना चाहिए , और आप बस चलाते हैं logrotate
। यदि यह हाल ही में घुमाया गया है, तो logrotate -f
इसे फिर से करने के लिए मजबूर करने के लिए।
यहाँ /var/log/syslog
डेबियन से एक उदाहरण प्रविष्टि है ,
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
तो, आपको एक फ़ाइल की जरूरत है, सामान्य रूप से या तो /etc/logrotate.conf
एक फ़ाइल स्निपेट के रूप में /etc/logrotate.d
आपके /etc/logrotate.conf
बिंदुओं को संभालने के लिए , और फिर आप बस चलाते हैं logrotate /etc/logrotate.conf
।
चूंकि आप डेबियन चला रहे हैं, यह संभवतः सभी जगह है, और आपको वास्तव में करने की आवश्यकता है logrotate -f /etc/logrotate.conf
(ध्यान दें, यह वर्तमान में लॉग इन में कॉन्फ़िगर किए गए प्रत्येक लॉग को घुमाएगा )।
यदि आप सही मायने में केवल घूमना चाहते हैं /var/log/syslog
, तो आपको एक कॉन्फिग फाइल बनानी होगी, जो कि /etc/logrotate.conf
+ की सामग्री के आधार पर सिर्फ एक लॉग करे /etc/logrotate.d/rsyslog
।