लॉग प्रविष्टियों को प्रबंधित करने के लिए लॉगरोटेट लिनक्स का एक कमांड-लाइन टूल है। यह उपकरण व्यवस्थापक द्वारा लॉग प्रविष्टियों पर विभिन्न प्रकार के कार्यों को करने में मदद करता है जैसे घुमाई गई लॉग फ़ाइलों को सीमित करना, घुमाई गई लॉग फ़ाइलों को संपीड़ित करना, अनावश्यक लॉग फ़ाइलों को हटाना, लॉग फ़ाइलों के आधार पर विशेष शेल स्क्रिप्ट को निष्पादित करना आदि। लॉग फ़ाइलों को विभिन्न तरीकों से प्रबंधित करने के लिए 'लॉगरोरेट' कमांड को इस ट्यूटोरियल में कई उदाहरणों का उपयोग करके दिखाया गया है।
स्थापित लॉगरोटेट संस्करण की जाँच करें
उबंटू ऑपरेटिंग सिस्टम के नए संस्करण में 'लॉगरोटेट' कमांड डिफ़ॉल्ट रूप से स्थापित है। 'लॉगरोटेट' कमांड के स्थापित संस्करण की जांच करने के लिए निम्नलिखित कमांड चलाएँ:
$ लॉगरोटेट --संस्करण
विभिन्न अनुप्रयोगों की लॉग प्रविष्टियाँ डिफ़ॉल्ट रूप से '/var/log' फ़ोल्डर में संग्रहीत होती हैं। यदि आप फ़ोल्डर की सामग्री की जाँच करते हैं तो निम्नलिखित समान सामग्री दिखाई देगी।
$ रास / था / लकड़ी का लट्ठा
'लॉगरोटेट' कॉन्फ़िगरेशन सेट करें
मूल्य तय करना | उद्देश्य |
दैनिक/साप्ताहिक/मासिक/वार्षिक | यह लॉग को घुमाने की समय अवधि को परिभाषित करता है। |
संख्या घुमाएँ | यह पुरानी लॉग फ़ाइलों को हटाने से पहले रखी जाने वाली फ़ाइलों की संख्या को परिभाषित करता है। |
संकुचित करें | इसका उपयोग लॉग फ़ाइलों को संपीड़ित करने के लिए किया जाता है। |
कंप्रेससीएमडी | इसका उपयोग 'कंप्रेस' कमांड सेट करने के लिए किया जाता है। Gzip डिफ़ॉल्ट कमांड है. |
असंपीड़ितcmd | इसका उपयोग 'अनकंप्रेस' कमांड सेट करने के लिए किया जाता है। गनज़िप डिफ़ॉल्ट कमांड है। |
विलंबसंपीड़न | इसका उपयोग लॉग फ़ाइलों की संपीड़न प्रक्रिया में देरी करने के लिए किया जाता है। |
अधिसूचना खाली | इसका उपयोग खाली फाइल को घुमाने से रोकने के लिए किया जाता है। |
मैं गुम हो गया हूं | यदि यह सेट है, तो गुम लॉग फ़ाइलों के लिए कोई त्रुटि उत्पन्न नहीं होती है। |
आकार | इसका उपयोग लॉग फ़ाइलों को घुमाने की सीमा निर्धारित करने के लिए किया जाता है। |
datetext | इसका उपयोग रोटेट फ़ाइल के प्रत्यय के रूप में दिनांक मान जोड़ने के लिए किया जाता है। |
कॉपीट्रंकट | इसका उपयोग मूल फ़ाइल की प्रतिलिपि बनाने के लिए किया जाता है। |
पूर्व घुमाया गया | इसका उपयोग लॉग फ़ाइलों को घुमाने से पहले स्क्रिप्ट चलाने के लिए किया जाता है। |
पोस्टरोटेट | इसका उपयोग लॉग फ़ाइलों को घुमाने के बाद स्क्रिप्ट चलाने के लिए किया जाता है। |
बनाएं | इसका उपयोग रूट विशेषाधिकार के साथ लॉग फ़ाइलें बनाने के लिए किया जाता है। |
वाक्य - विन्यास:
'लॉगरोटेट' कमांड का सिंटैक्स इस प्रकार दिया गया है:
लॉगरोटेट [ विकल्प ] config_file_path
'लॉगरोटेट' कमांड के साथ विभिन्न प्रकार के विकल्पों का उपयोग विभिन्न उद्देश्यों के लिए किया जा सकता है।
लॉगरोटेट विकल्प
'लॉगरोटेट' कमांड के कुछ उपयोगी विकल्प निम्नलिखित में उल्लिखित हैं:
-एफ, -बल | इसका उपयोग आवश्यकता पड़ने पर जोर से घुमाने के लिए किया जाता है। |
-डी, -डीबग | इसका उपयोग रोटेशन के दौरान डिबग मोड को सक्षम करने के लिए किया जाता है। |
-एम, -मेल <कमांड> | इसका उपयोग रोटेशन के दौरान ईमेल भेजने के लिए किया जाता है। |
-एस, -स्टेट <स्टेटफाइल> | इसका उपयोग वैकल्पिक राज्य फ़ाइलों के लिए किया जाता है। |
-उपयोग | इसका उपयोग उपयोग की जानकारी मुद्रित करने के लिए किया जाता है। |
-?, -मदद | इसका उपयोग मदद करने वाले संदेशों को प्रिंट करने के लिए किया जाता है। |
-v, -verbose | इसका उपयोग वर्बोज़ मोड में प्रिंट करने के लिए किया जाता है। |
लॉगरोट कॉन्फ़िगरेशन फ़ाइल
मुख्य लॉगरोटेट कॉन्फ़िगरेशन फ़ाइल '/etc/logrotate.conf' स्थान पर स्थित है। फ़ाइल को नैनो संपादक में खोलने के लिए निम्न आदेश चलाएँ:
$ नैनो / वगैरह / logrotate.conf'logrotate' कमांड की डिफ़ॉल्ट सेटिंग 'logrotate.conf' फ़ाइल में दिखाई गई है। फ़ाइल में '/etc/logrotate.d' निर्देशिका में स्थित कॉन्फ़िगरेशन को पुनः प्राप्त करने के लिए 'शामिल करें' निर्देश का उपयोग किया जाता है।
उदाहरण 1: एक सरल लॉगरोटेट कॉन्फ़िगरेशन फ़ाइल बनाएं
नमूना लॉग डेटा के साथ '/var/log/test.log' नामक एक नमूना लॉग फ़ाइल बनाएं। '/etc/tmp' फ़ोल्डर स्थान में एक नई 'logrotate.conf' फ़ाइल बनाने के लिए नैनो संपादक को खोलने के लिए निम्न कमांड चलाएँ। रूट विशेषाधिकारों के साथ '/tmp' फ़ोल्डर बनाएं यदि यह पहले नहीं बनाया गया है।
$ नैनो / वगैरह / टीएमपी / logrotate.conf'/var/log/test.log' फ़ाइल के लिए फ़ाइल में निम्नलिखित सामग्री जोड़ें। सेटिंग के अनुसार, यदि फ़ाइल का आकार 5K से अधिक है तो 'test.log' फ़ाइल को प्रतिदिन घुमाया जाएगा:
/ था / लकड़ी का लट्ठा / परीक्षण.लॉग {दैनिक
आकार 5K
उसका रूट एडम
}
लॉग फ़ाइल का आकार जाँचने के लिए निम्न आदेश चलाएँ:
$ रास -एल / था / लकड़ी का लट्ठा / परीक्षण.लॉगकॉन्फ़िगरेशन फ़ाइल बनाने के बाद 'लॉगरोटेट' कमांड चलाएँ।
$ सूडो लॉगरोटेट / वगैरह / टीएमपी / logrotate.conf'लॉगरोटेट' कमांड निष्पादित करने के बाद लॉग फ़ाइल का आकार जांचने के लिए फिर से निम्न कमांड चलाएँ:
$ रास -एल / था / लकड़ी का लट्ठा / परीक्षण.लॉग'test.log' फ़ाइल का आकार 1K+ है। इसलिए, कॉन्फ़िगरेशन सेटिंग के आधार पर कोई रोटेशन नहीं किया जाता है।
'/etc/tmp/logrotate.conf' फ़ाइल में आकार मान को 1K में बदलें और '/var/log/test.log' का फ़ाइल आकार जांचने के लिए फिर से 'ls' कमांड चलाएँ। आउटपुट के अनुसार, लॉग फ़ाइल को घुमाया जाता है और हटा दिया जाता है क्योंकि आकार सीमा पार हो जाती है।
उदाहरण 2: लॉगरोटेट कॉपीट्रंकट का उपयोग
कॉपीट्रंकट का उपयोग दिखाने के लिए निम्नलिखित सेटिंग्स के साथ '/etc/tmp/logrotate.conf' फ़ाइल बनाएं या संशोधित करें। नई सेटिंग्स के अनुसार, लॉगरोटेट मूल फ़ाइल का आकार शून्य करके मूल फ़ाइल की एक प्रति बनाता है।
/ था / लकड़ी का लट्ठा / परीक्षण.लॉग {घुमाएँ 5
आकार 1 कि
कॉपीट्रंकट
उसका रूट एडम
}
'test.log' फ़ाइल का आकार जांचने के लिए निम्नलिखित कमांड चलाएँ:
$ रास -एल / था / लकड़ी का लट्ठा / परीक्षण.लॉगकॉन्फ़िगरेशन फ़ाइल बनाने के बाद 'लॉगरोटेट' कमांड चलाएँ।
$ सूडो लॉगरोटेट / वगैरह / टीएमपी / logrotate.conf'लॉगरोटेट' कमांड निष्पादित करने के बाद 'test.log' फ़ाइल का आकार जांचने के लिए फिर से निम्न कमांड चलाएँ:
$ रास -एल / था / लकड़ी का लट्ठा / परीक्षण.लॉगकॉपीट्रंकट सेटिंग के लिए 'लॉगरोटेट' कमांड निष्पादित करने के बाद मूल फ़ाइल का आकार 0 हो जाता है।
उदाहरण 3: लॉगरोटेट कंप्रेस का उपयोग
कंप्रेस का उपयोग दिखाने के लिए निम्नलिखित सेटिंग्स के साथ '/etc/tmp/logrotate.conf' फ़ाइल बनाएं या संशोधित करें। नई सेटिंग्स के अनुसार, लॉगरोटेट मूल फ़ाइल की एक कंप्रेस फ़ाइल बनाता है।
/ था / लकड़ी का लट्ठा / परीक्षण.लॉग {घुमाएँ 5
आकार 1 कि
संकुचित करें
बनाएं 770 रूट एडम
}
'/var/log' की फ़ाइलों और फ़ोल्डरों की सूची की जाँच करने के लिए निम्नलिखित कमांड चलाएँ:
$ रास / था / लकड़ी का लट्ठा /कॉन्फ़िगरेशन फ़ाइल बनाने के बाद 'लॉगरोटेट' कमांड चलाएँ।
$ सूडो लॉगरोटेट / वगैरह / टीएमपी / logrotate.conf'/var/log' की फ़ाइलों और फ़ोल्डरों की सूची की जाँच करने के लिए निम्नलिखित कमांड फिर से चलाएँ:
$ रास / था / लकड़ी का लट्ठा /'test.log' फ़ाइल की संपीड़ित फ़ाइल 'test.log.1.gz' नाम से बनाई गई है और मूल फ़ाइल हटा दी गई है।
उदाहरण 4: लॉगरोटेट डेटटेक्स्ट का उपयोग
डेटटेक्स्ट का उपयोग दिखाने के लिए निम्नलिखित सेटिंग्स के साथ '/etc/tmp/logrotate.conf' फ़ाइल बनाएं या संशोधित करें। नई सेटिंग्स के अनुसार, लॉगरोटेट दिनांक मान के साथ मूल फ़ाइल की एक संपीड़ित फ़ाइल बनाता है।
था / लकड़ी का लट्ठा / परीक्षण.लॉग {उसका रूट एडम
घुमाएँ 5
आकार 1 कि
संकुचित करें
बनाएं 770 रूट एडम
datetext
}
कॉन्फ़िगरेशन फ़ाइल बनाने के बाद 'लॉगरोटेट' कमांड चलाएँ।
$ सूडो लॉगरोटेट / वगैरह / टीएमपी / logrotate.conf'/var/log' की फ़ाइलों और फ़ोल्डरों की सूची की जाँच करने के लिए निम्नलिखित कमांड चलाएँ:
$ रास -एल / था / लकड़ी का लट्ठा /'test.log' फ़ाइल की संपीड़ित फ़ाइल 'test.log.20240129.gz' नाम से बनाई गई है और मूल फ़ाइल हटा दी गई है।
उदाहरण 5: लॉगरोटेट मैक्सेज का उपयोग
अधिकतम का उपयोग दिखाने के लिए निम्नलिखित सेटिंग्स के साथ '/etc/tmp/logrotate.conf' फ़ाइल बनाएं या संशोधित करें। सेटिंग्स के अनुसार, यदि लॉग फ़ाइल का आकार एक दिन के बाद 1K से अधिक हो जाता है, तो लॉगरोटेट पांच लॉग प्रविष्टियाँ रखता है।
/ था / लकड़ी का लट्ठा / परीक्षण.लॉग {उसका रूट एडम
घुमाएँ 5
आकार 1 कि
संकुचित करें
अधिकतम 1
}
आउटपुट को 'आउट.लॉग' नामक किसी अन्य लॉग फ़ाइल में संग्रहीत करने के लिए निम्नलिखित 'लॉगरोटेट' कमांड चलाएँ:
$ सूडो लॉगरोटेट -एस = / था / लकड़ी का लट्ठा / आउट.लॉग / वगैरह / टीएमपी / logrotate.confनिम्नलिखित आउटपुट के अनुसार, 'लॉगरोटेट' कमांड निष्पादित करने के बाद 'आउट.लॉग' फ़ाइल बनाई जाती है:
उदाहरण 6: लॉगरोटेट मिसिंगोक का उपयोग
निम्नलिखित सेटिंग्स के साथ '/etc/tmp/logrotate.conf' फ़ाइल बनाएं या संशोधित करें। यहां, 'testfile.log' लॉग फ़ाइल '/var/log' फ़ोल्डर में मौजूद नहीं है।
/ था / लकड़ी का लट्ठा / testfile.log {उसका रूट एडम
घुमाएँ 5
आकार 1 कि
संकुचित करें
}
'लॉगरोटेट' कमांड निष्पादित करने के बाद एक त्रुटि संदेश मुद्रित होता है।
लॉगरोटेट कॉन्फ़िगरेशन फ़ाइल में 'मिसिंगोक' सेटिंग जोड़ें और 'लॉगरोटेट' कमांड को फिर से चलाएँ। गुम लॉग फ़ाइल के लिए कोई त्रुटि मुद्रित नहीं है।
उदाहरण 7: लॉगरोटेट प्रीरोटेट का उपयोग
निम्नलिखित स्क्रिप्ट के साथ 'test.sh' नामक एक बैश फ़ाइल बनाएं जो एक साधारण संदेश प्रिंट करती है। लॉगरोटेट कॉन्फ़िगरेशन फ़ाइल में प्रीरोटेट के उपयोग को दिखाने के लिए इस लॉगरोटेट उदाहरण में फ़ाइल का उपयोग किया जाता है।
परीक्षण.श#!/बिन/बैश
गूंज 'उदाहरण लॉगरोट करें...'
फ़ाइल बनाने के बाद, सभी उपयोगकर्ताओं के लिए इस फ़ाइल की निष्पादन अनुमति सेट करने के लिए निम्नलिखित कमांड चलाएँ:
$ चामोद ए+एक्स / घर / समझ / परीक्षण.शअब, निम्नलिखित सेटिंग्स के साथ '/etc/tmp/logrotate.conf' फ़ाइल बनाएं या संशोधित करें। सेटिंग्स के अनुसार, यदि लॉग फ़ाइल का आकार 1K से अधिक है तो लॉगरोटेट पांच लॉग प्रविष्टियाँ रखता है और रोटेशन से पहले 'test.sh' फ़ाइल निष्पादित होती है।
/ था / लकड़ी का लट्ठा / परीक्षण.लॉग {उसका रूट एडम
घुमाएँ 5
आकार 1 कि
पूर्व घुमाया गया
/ घर / समझ / परीक्षण.श
अंतस्क्रिप्ट
}
'test.sh' फ़ाइल का आउटपुट 'logrotate' कमांड निष्पादित करने के बाद दिखाया गया है:
निष्कर्ष
इस ट्यूटोरियल में 'लॉगरोटेट' कमांड के विभिन्न उपयोगों को कई उदाहरणों का उपयोग करके दिखाया गया है जो लिनक्स उपयोगकर्ता को कमांड के उपयोगों को जानने और लॉग फ़ाइलों को ठीक से प्रबंधित करने में मदद करेगा।