मेरे पास एक बैकअप स्क्रिप्ट है जिसे मुझे एक दिन के विशेष समय पर चलाने की आवश्यकता है इसलिए मैं cronइस कार्य के लिए उपयोग कर रहा हूं और क्रोन के भीतर से भी बैकअप स्क्रिप्ट के आउटपुट को पुनर्निर्देशित करने की कोशिश कर रहा हूं logfile।
crontab -e
*/1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log
उपरोक्त क्रोन प्रविष्टि में मैं दोनों stderr and stdoutको लॉग फ़ाइल में पुनर्निर्देशित कर रहा हूं ।
उपरोक्त क्रोन जॉब के अनुसार ठीक syslog चलता है और यह backup.shफ़ाइल में उल्लिखित कार्य करता है लेकिन यह लॉग फ़ाइल में कुछ भी नहीं लिखता है।
/var/log/syslog
Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log)
जब मैं लिपियों से स्क्रिप्ट चलाता हूं तो यह आवश्यकतानुसार काम करता है और आउटपुट लॉग फाइल में लिखा जाता है
ranveer@ranveer:~$ ./backup.sh &>> backup.log
ranveer@ranveer:~$ cat backup.log
Fri Oct 19 20:28:01 IST 2012
successfully copied testdir
test.txt successfully copied
-------------------------------------------------------------------------------------
ranveer@ranveer:~$
तो, फ़ाइल का आउटपुट क्रोन के भीतर से फ़ाइल पर पुनर्निर्देशित क्यों नहीं हो रहा है।