किसी विशेष फ़ाइल के जर्नल आउटपुट को किसी विशेष फ़ाइल में कैसे निर्देशित किया जाए?


12

मुझे कई डेमॉन के साथ एक सिस्टम मिला है (सिस्टम यूनिट्स के रूप में) जो कि आर्क लॉग में जर्नल को आउटपुट लॉग जानकारी देता है। मैं उन यूनिट फ़ाइलों में से कुछ के जर्नल आउटपुट को एक अलग पाठ फ़ाइल में निर्देशित करना चाहता हूं जिसका स्थान मैं निर्दिष्ट करता हूं, अनिवार्य रूप से इकाइयों के सबसेट के लिए एक लॉग फ़ाइल बना रहा हूं। मैं ऐसा करने के बारे में कैसे जा सकता हूं?


एक संबंधित प्रश्न unix.stackexchange.com/questions/468444 है
JdeBP

जवाबों:


10

लगता है कि यह संभव नहीं है और अपस्ट्रीम (व्यक्तिगत फ़ाइलों के लिए stdout / stderr को पुनर्निर्देशित करके देखें) http://lists.freedesktop.org/archives/systemd-devel/2012-March/004705.html देखें - अधिक के लिए पूरा सूत्र पढ़ें संदर्भ जानकारी कि यह कैसे काम करने का इरादा है।

आप क्या कर सकते हैं, या तो syslog में लॉग इन है, और इस तरह से अलग-अलग फ़ाइलों को लिखें। या दूसरे तरीके के आसपास, अगर इकाई कुछ प्रोग्राम को कॉल करती है जो लॉग को स्वयं लिख सकता है, तो उस का उपयोग एक फ़ाइल में लॉग इन करने के लिए करें।

आप सिस्टम सेवा के दृश्य stdout / stderr पर एक नज़र डालना चाहते हैं

आप पहले से ही अपने वर्तमान सेटअप के साथ क्या कर सकते हैं,
journalctl -u yourunitname > yourlogfile_for_yourunitname
अपनी इकाई "yourunitname" के लिए संपूर्ण जर्नल आउटपुट को एक फ़ाइल में निर्देशित करने के लिए उपयोग किया जाता है।

उत्तरार्द्ध पर, आपको उपरोक्त मेलिंग सूची धागे से लेर्नर्ट के संकेतों पर भी ध्यान देना चाहिए:

हाल के सिस्टमड संस्करण पर कुछ ऐसा systemd-journalctl -o cat _SYSTEMD_UNIT=postgresql.serviceहोना चाहिए जो एक बहुत ही सरल आउटपुट तैयार करे जिसमें केवल वास्तविक संदेश शामिल हों और कुछ नहीं। आप "-f" भी पास कर सकते हैं और इसे लाइव कर सकते हैं।

संपादित करें: वास्तव में, नए सिस्टेम वर्जन के लिए कमांड केवल जर्नल है और जो मैं बता सकता हूं, उससे ऊपर की लंबी कमांड समान है journalctl -u yourunitnameऔर आप -fआउटपुट (टेलफ या टेल-ऑफ में) का "पालन" भी कर सकते हैं ।

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