मेरे पास एक बैकअप स्क्रिप्ट है जिसे मुझे एक दिन के विशेष समय पर चलाने की आवश्यकता है इसलिए मैं 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:~$
तो, फ़ाइल का आउटपुट क्रोन के भीतर से फ़ाइल पर पुनर्निर्देशित क्यों नहीं हो रहा है।