रूट एक्सेस के बिना लॉगरोट को कॉन्फ़िगर करना (प्रति उपयोगकर्ता लॉग रोटेशन)


18

प्रति उपयोगकर्ता के नियंत्रण में, उपयोगकर्ता की होम निर्देशिका में फ़ाइलों को घुमाने के लिए, प्रति उपयोगकर्ता के आधार पर लॉगऑट्रेट को सबसे अच्छा कैसे कॉन्फ़िगर किया जा सकता है crontab -e?

जवाबों:


27

इस प्रक्रिया का प्रयास करें:

  1. बनाने /home/user/logrotateफ़ोल्डर

    mkdir /home/user/logrotate
    
  2. /home/user/logrotate/my.confअपनी आवश्यकता के अनुसार लॉगरोटेट निर्देश के साथ कॉन्फ़िगरेशन फ़ाइल बनाएं

  3. /home/user/logrotate/cronjobहर दिन 2:30 पूर्वाह्न पर लॉग-इन चलाने के लिए बनाएं (यह एक उदाहरण है)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. अपनी कॉन्फ़िगरेशन फ़ाइल सिंटैक्स की जाँच करें:

    logrotate -d /home/user/logrotate/my.conf
    
  5. crontabचलाने के लिए कॉन्फ़िगर करें logrotate ( चेतावनी : यह आपके कॉन्टैब में मौजूदा प्रविष्टियों को हटा देता है। crontab -eमैन्युअल रूप से चरण 3 से मौजूदा क्रॉज़िशन में लाइन जोड़ने का उपयोग करें ):

    crontab /home/user/logrotate/cronjob 
    

इस अंतिम कमांड के बाद, logrotateफाइल को रोटेट किया जाएगा जैसा कि इसमें वर्णित है /home/user/logrotate/my.confऔर लॉग फाइल स्टेटस को सेव करें /home/user/logrotate/status

उपयोग:

crontab -r   # remove crontab activities for user
crontab -l   # to list crontab activity for user
crontab -e   # edit user crontab entries

यहाँ logrotate और crontab man पेज है।


3
बहुत शिक्षाप्रद। शायद यह उल्लेख किया जाना चाहिए कि 'crontab <file>' पहले से कॉन्फ़िगर किए गए सभी क्रोनॉजर्स को हटा देता है। यह सिर्फ मेरे साथ हुआ - सौभाग्य से मेरे पास एक बैकअप था :)
पैदल यात्रा

1
@pederpansen ने मेरे उत्तर को बेहतर बनाने के लिए धन्यवाद :)
लेटी

2
-sपैरामीटर के लिए धन्यवाद से बचना होगा error: error creating unique temp file: Permission denied
मार्को मार्सला
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.