मैं निम्न स्क्रिप्ट चलेंगे:लॉगजर कमांड का उपयोग करके मैं लिनक्स में किसी विशिष्ट फ़ाइल को कैसे लॉग कर सकता हूं?
#!/bin/bash
./myprogram
#get exit code
exitvalue=$?
#log exit code value to /var/log/messages
logger -s "exit code of my program is " $exitvalue
लेकिन मैं क्योंकि मैं रूट विशेषाधिकारों की जरूरत नहीं है लोग इन /var/log/messages
में लिखे जाने की संदेश नहीं करना चाहती। इसके बजाय मैं इसे अपनी होम निर्देशिका में एक फ़ाइल में लिखा जाना चाहता हूं: /home/myuser/mylog
मुझे उपरोक्त logger
आदेश कैसे संशोधित करना चाहिए?
उचित टाइमस्टैम्पिंग इस तरह से खो जाएगी, उसे मैन्युअल रूप से करना होगा। इसके अलावा, प्राथमिकता के स्तर और/या टैग का समर्थन करने के लिए (जो कि सबसे आदिम लॉगर्स की बहुत आम विशेषताएं हैं, उदाहरण के लिए सफलता, त्रुटि, चेतावनी इत्यादि को अलग करना), उन्हें भी स्क्रैच से लागू करना होगा। (वहां गया, ऐसा किया गया, और कुछ आधा दिल के प्रयास के बाद मैं भी लॉगर के साथ समाप्त हुआ।) –
@Sz। वे अवलोकन सभी सही हैं। लेकिन, 'syslog' (या' syslog-ng' या 'rsyslog', जो भी उसका वितरण उपयोग कर रहा है) की कॉन्फ़िगरेशन को अनुकूलित करने के अलावा, वह रूट विशेषाधिकार के बिना नहीं कर सकता है, संभवत: आपकी सहायता से कुछ पायथन/जावा/जो भी पुस्तकालय उपलब्ध हैं, आपके द्वारा नियंत्रित फ़ाइल में लॉग प्राप्त करने का एकमात्र तरीका है ... – twalberg
आपके अंक भी सही हैं। :) –