मैं लॉग फाइल को कैसे टेल कर सकता हूं और जब नवीनतम तारीख बदलती है तो इसे कैसे जारी रख सकता हूं?


7

मैं RHEL 4 का उपयोग कर रहा हूं।

tail -F file_name*.logसमय 0000 से अधिक होने पर सामान्य अपडेट नहीं होता है।

मैंने वेब पर खोज करने से लेकर अब तक जो कोशिश की है, दोनों में नेस्टेड का उपयोग करने की कोशिश की गई है tail:

tail -F $(ls -tr file_name*.log | tail -n 1)

tail -F $(fine . -maxdepth 1 -type f -printf "%T@ %p\n" | sort -n | tail n 1 | cut -d' ' -f 2-)

इनमें से कोई भी नई फ़ाइलों पर फ़्लिप नहीं करता है। tail -F file_name*.logमेरे पुराने परीक्षण मामलों में सादा पुराना काम करता है (जबकि ऊपर 2 नहीं), लेकिन यह तब काम नहीं करता है जब मैं एक वास्तविक लॉग फ़ाइल पूंछ रहा हूं।


2
वास्तव में आप क्या करने की कोशिश कर रहे हैं? यदि आप लॉग-रोटेट के प्रभावी होने के बावजूद किसी फ़ाइल को लगातार पूंछने की कोशिश कर रहे हैं, tail -F filename.logतो आप यही चाहते हैं। मैं उन सभी का अनुसरण नहीं कर रहा हूं जो आप सभी अतिरिक्त घोंसले के शिकार के साथ करने की कोशिश कर रहे हैं।
3-10 बजे स्पार्टिकव्स

जवाबों:


4

यह (नहीं) काम नहीं कर सकता है - आप जो नवीनतम फ़ाइल निर्धारित करने के लिए उपयोग कर रहे हैं वे केवल एक बार निष्पादित हो जाते हैं। ग्लोब काम नहीं करेगा क्योंकि शेल केवल ONCE वाइल्ड-कार्ड का मूल्यांकन करता है।

इससे निपटने का एक तरीका यह होगा कि पूरी चीज़ को चलाने के लिए 'वॉच' का इस्तेमाल किया जाए, लेकिन इससे आउटपुट हर इतने सेकंड में हैक हो जाएगा।


1
आह, मैं अभी इसके लिए कुछ स्क्रिप्ट लिखने जाऊंगा। धन्यवाद!
केन ओह

5

tailकिसी एकल फ़ाइल, या फ़ाइलों के अधिकांश सेट पर नज़र रखता है, जो शुरू होने पर निर्धारित होता है। कमांड में tail -F file_name*.log, पहले शेल वाइल्डकार्ड पैटर्न का विस्तार करता है, फिर tailउस समय जो भी फाइल (एस) मौजूद है, उस पर कॉल किया जाता है।

वाइल्डकार्ड के आधार पर फ़ाइलों के एक सेट की निगरानी करने के लिए, आप मल्टीटैल का उपयोग कर सकते हैं ।

multitail -iw 'file_name*.log' 1

1

आप शायद पूंछ का पालन करने के लिए कुछ लिखने जा रहे हैं। या आधी रात को लॉग (या उस लॉग) को रोल न करने के लिए अपने सिस्टम को कॉन्फ़िगर करें। किसी भी तरह से, पुच्छल लॉगफ़ाइल का फ़ाइलहैंड रोल किए जाने पर रीसेट हो जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.