क्रोन एक मेलर को आउटपुट भेजता है। यदि आप किसी टर्मिनल में आउटपुट देखना चाहते हैं तो आप किसी फाइल में लॉग इन कर सकते हैं और टर्मिनल में आउटपुट देखने के लिए टेल -f का उपयोग कर सकते हैं।
किसी फ़ाइल में लॉग इन करें
- सबसे सरल उत्तर एक फ़ाइल में सीधे लॉग इन करना है जैसे कि कॉन्टैब प्रविष्टि:
0 07-17 * * * /home/dat/scripts/cron.out > /path/to/log.txt 2> /path/to/error.txt
लॉग करने के वैकल्पिक तरीके:
- यदि आपका प्रोग्राम एक ऐसा विभाजन है, जिसे लिखा जा सकता है, तो आप इसे लॉग फ़ाइल के साथ आउटपुट पर पुनर्निर्देशित कर सकते हैं।
echo output > log.txt
, या आप नीचे वर्णित एक आवरण स्क्रिप्ट का उपयोग कर सकते हैं ।
- यदि आपका प्रोग्राम एक द्विआधारी या अन्यथा संयुक्त-योग्य है, तो आपको फ़ाइल पर आउटपुट कैप्चर करने के लिए रैपर स्क्रिप्ट लिखना होगा ।
उदाहरण कार्यक्रम और आवरण स्क्रिप्ट:
$ cat program.sh wrapper.sh
#!/bin/bash
# sample program
echo "arg 1=$1 arg2=$2 arg3=$3"
echo "sample error" >&2
#!/bin/bash
# sample wrapper
exec ./program.sh "$@" >log.txt 2> error.txt
उदाहरण रन 1:
$ ./wrapper.sh 1 2 3 ; cat error.txt log.txt
sample error
arg 1=1 arg2=2 arg3=3
उदाहरण रन 2:
$ ./wrapper.sh "A B C" D E ; cat error.txt log.txt
sample error
arg 1=A B C arg2=D arg3=E
टर्मिनल में आउटपुट देखें:
अब जब कि अपने दोनों मानक बाहर और एक फाइल करने के लिए मानक त्रुटि, किसी भी टर्मिनल में प्रवेश करने के लिए, आप चला सकते हैं tail -f
एक या दोनों फाइलों पर की तरह tail -f log.txt
या tail -f log.txt error.txt
तो यह है कि पूंछ देख सकते हैं या नहीं बल्कि संशोधन के लिए फ़ाइल (फ़ाइलें) का पालन करेंगे। टेल मैन-पेज
$ tail -f log.txt error.txt
==> log.txt <==
arg 1=1 arg2=2 arg3=3
==> error.txt <==
sample error
लॉगिंग फ़ाइलें बाद में संलग्न:
यदि या तो log.txt या error.txt बाद में या तो आपके प्रोग्राम से या किसी अन्य टर्मिनल से जोड़ा जाता है, तो $ echo "more output" >> log.txt
आउटपुट को टर्मिनल रनिंग पर देखा जाता है$ tail -f log.txt error.txt
==> log.txt <==
more output
इसके अलावा, $ echo code red >> error.txt
परिणाम:
==> error.txt <==
code red