मेरे पास रोलिंग लॉग फ़ाइलों से भरा एक निर्देशिका है जिसे मैं पूंछ का उपयोग करने में सक्षम होना चाहता हूं।टेलिंग रोलिंग फ़ाइलें
फ़ाइलों जैसे नाम हैं:
name modified
00A.txt Dec 27 19:00
00B.txt Dec 27 19:01
00C.txt Dec 27 19:02
00D.txt Dec 27 19:03
एक पुराने यूनिक्स प्रणाली पर, मैं एक खोल स्क्रिप्ट साथ आने के लिए कोशिश कर रहा हूँ कि पूंछ किसी विशिष्ट निर्देशिका की हाल ही में संशोधित फ़ाइल यदि जाएगा, और वह फ़ाइल प्रशासनिक रूप से बंद हो जाती है (अगली फ़ाइल में रोल) मैं चाहता हूं कि प्रोग्राम स्वचालित रूप से नई फ़ाइल को फिर से शुरू करने के बिना पूंछ को तोड़ने के बिना शुरू हो जाए।
tail -100f `ls -t | head -1`
वांछित व्यवहार, ऊपर फ़ाइल नामों को देखते हुए इस तरह जाना होगा:
./logtailer.sh
फिर स्क्रिप्ट 00D.txt पीछा शुरू होगा। जैसे ही लॉगर 00D.txt पर लिखना समाप्त हो गया था और नवीनतम लॉग फ़ाइल को अब 00E.txt नाम दिया गया था, प्रोग्राम स्वचालित रूप से उस फ़ाइल को पूंछ शुरू कर देगा।
कोई व्यक्ति "फ़ाइल प्रशासित बंद" टेक्स्ट के लिए पूंछ के आउटपुट को देखकर और फिर निम्न आदेश को फिर से चलाकर इस स्क्रिप्ट को लिख सकता है।
tail -100f `ls -t | head -1`
वहाँ "प्रशासनिक रूप से बंद फ़ाइल" पाठ के लिए देख कर की तुलना में यह करने के लिए एक और अधिक सुरुचिपूर्ण रास्ता नहीं है? मैं शेल स्क्रिप्ट में लाइन द्वारा पूंछ रेखा के आउटपुट को भी कैसे पढ़ सकता हूं?
संपादित करें: मुझे समझाया जाना चाहिए कि पूंछ के लिए एफएफ ध्वज इस प्रणाली पर मेरे लिए एक विकल्प नहीं है। यह पूंछ के एक अलग संस्करण का उपयोग करता है जिसमें यह सुविधा नहीं है। ओएस संस्करण - सोलारिस 10
मुझे लगता है मैं इस ध्वज इस्तेमाल कर सकते हैं, लेकिन मेरी संस्करण पूंछ के पास यह सुविधा नहीं है और मेरे पास इसे अपग्रेड करने का विकल्प नहीं है। (कोई प्रशासनिक अधिकार नहीं) – user1118047
क्या आप कृपया 'पूंछ' की 'संस्करण जानकारी 'और' बॉक्स (यूनिक्स/लिनक्स) 'प्रदान कर सकते हैं जिसका आप उपयोग कर रहे हैं? –
सनोस 5.10 सुनिश्चित करें कि पूंछ के संस्करण को कैसे ढूंढें ... – user1118047