2011-03-31 19 views
12

क्या किसी के पास रेडिस के लिए नमूना लॉग्रोटेट कॉन्फ़िगरेशन है? यह मेरे पास अब तक हैRedis logrotate config

/var/log/redis/*.log { 
     daily 
     missingok 
     rotate 52 
     compress 
     delaycompress 
     notifempty 
     create 640 root adm 
     sharedscripts 
     postrotate 
       ... 
     endscript 
} 

लेकिन मुझे यकीन नहीं है कि पोस्ट्रोटेट चरण पर क्या करना है। यह उबंटू 10.04 एलटीएस पर है।

उत्तर

18

यह शायद पर्याप्त होगा:

/var/log/redis/*.log { 
     weekly 
     rotate 10 
     copytruncate 
     delaycompress 
     compress 
     notifempty 
     missingok 
} 
+6

लेकिन यह रेडिस को लॉग फ़ाइल को फिर से खोलने का अनुरोध कैसे करता है? ... ओह, मैंने इसे स्वयं समझ लिया: रेडिस वास्तव में प्रत्येक लॉग लाइन पर फिर से खुलती है (देखें https://github.com/antirez/redis/issues/337#issuecomment-4002868) – jpetazzo

+1

copytruncate उसी मूल फ़ाइल का उपयोग करता है (प्रतिलिपि फिर छिड़काव)। तो अगर रेडिस ने फाइल को दोबारा नहीं खोल दिया तो भी यह ठीक काम कर रहा था। – c4il

+2

Copytruncate अक्षम है, और यदि संभव हो तो मैं इससे बचना चाहूंगा। क्या यह संभव है? ऐसा लगता है कि ऐसा है, इसलिए मैं इसे आज़माउंगा। –

4

मैं

/var/log/redis/*.log { 
     weekly 
     missingok 
     rotate 52 
     compress 
     delaycompress 
     notifempty 
     create 0660 redis redis 
} 

साथ चला गया, क्योंकि मैं copytruncate नहीं करना चाहती।

मुझे यकीन नहीं है कि create लाइन आवश्यक है। यह फ़ाइल मोड से मेल खाता है और आमतौर पर उबंटू (या डेबियन) पर रेडिस-सर्वर द्वारा बनाई गई लॉग फ़ाइलों का स्वामित्व है।