2014-04-18 6 views
10

मैं हमेशा के लिए उपयोग अपने NodeJS सर्वर शुरू करने के लिए और मैं लॉग फ़ाइल चुनें:हमेशा के लिए लॉग इन करें और logrotate

हमेशा के लिए -l /home/api/log/api_output.log शुरू server.js

मैं logrotate का उपयोग हर दिन लॉगफ़ाइल स्थानांतरित करने के लिए (जैसे यहाँ की सलाह दें: NodeJS/Forever archive logs), एक दिन के बाद मेरे निर्देशिका इस तरह है:

-rw-r - r-- 1 जड़ जड़ 0 एव्रिल 18 12:00 api_output.log

-rw-r - r-- 1 रूट रूट 95492 avril 18 12:01 api_output.log-20140418

तो, रोटेशन काम कर रहा है, लेकिन लॉग संदेश अब api_output.log

के बजाय, api_output.log-20,140,418 में लिखे गए हैं हो सकता है कि किसी ने मेरी मदद कर सकते?

+4

क्या आप 'copytruncate' का उपयोग कर रहे हैं? –

+0

copytruncate नौकरी करते हैं धन्यवाद – igor

+1

बहुत बढ़िया। यह बहुत अच्छा होगा अगर आप अपने प्रश्न का उत्तर दे सकें और समझाएं कि आप समस्या को हल करने में कैसे सक्षम थे। यह अन्य उपयोगकर्ताओं की मदद करेगा जो एक ही समस्या में भागते हैं :) –

उत्तर

10

मैं अपने कॉन्फ़िग फ़ाइल में copytruncate विकल्प भूल गया, अब यह काम कर रहा:

/etc/logrotate.d/api:

/home/api/log/api_output.log { 
    #size 50k 
    daily 
    dateext 
    missingok 
    rotate 7 
    compress 
    delaycompress 
    notifempty 
    #create 644 root 
    copytruncate 
} 
+0

मेरे हमेशा के लिए लॉग हमेशा के लिए बढ़ते रहते हैं मैं क्या कर सकता हूं? इसके अलावा लॉग्रोटेशन उसमें जोड़ता है, वे बड़े और बड़े होते रहते हैं। – JustGoscha

+1

सावधानी! 'copytruncate' लॉग प्रविष्टियों को छोड़ सकता है। विशेष रूप से, प्रतिलिपि और छंटनी संचालन के बीच लिखी गई लॉग प्रविष्टियां। –

+1

एक पॉबलेम है: जब लॉग्रोटेट हमेशा के लिए लॉग इन करता है तो अब लॉग लिखने में सक्षम नहीं है ... – giuseppe

0

मुझे लगता है कि यह हमेशा के लिए और लॉग फ़ाइल के बीच रहने की धारा के कारण है।

फ़ाइल लॉग फ़ाइल के लिए हमेशा फ़ाइल स्ट्रीम का उपयोग करें। और आपने logrotate द्वारा इस फ़ाइल का नाम बदल दिया। लेकिन धारा बदल नहीं है। इसलिए लॉग संदेश api_output.log-20140418 में लिखे गए थे।

यदि आप स्ट्रीम को बदलना चाहते हैं, तो आपको node.js कोड द्वारा घूमना चाहिए, या पाइपलाइन का उपयोग करना चाहिए।

+0

हां, यह था कि कॉपीट्रंकेट विकल्प समस्या से बचें! – igor

संबंधित मुद्दे